Author: solomax
Date: Wed Dec  2 06:06:16 2015
New Revision: 1717572

URL: http://svn.apache.org/viewvc?rev=1717572&view=rev
Log:
[OPENMEETINGS-846] group invitation is available for admins only

Modified:
    
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
    
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html?rev=1717572&r1=1717571&r2=1717572&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
 Wed Dec  2 06:06:16 2015
@@ -26,7 +26,7 @@
                                <td><input type="radio" 
wicket:id="user"/><label wicket:for="recipients"><wicket:message key="216" 
/></label></td>
                                <td><input type="hidden" wicket:id="recipients" 
class="input invitees" style="max-height: 80px"/></td>
                        </tr>
-                       <tr>
+                       <tr wicket:id="groupContainer">
                                <td><input type="radio" 
wicket:id="group"/><label wicket:for="groups"><wicket:message key="126" 
/></label></td>
                                <td><input type="hidden" wicket:id="groups" 
class="input invitees" style="max-height: 80px"/></td>
                        </tr>

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java?rev=1717572&r1=1717571&r2=1717572&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 Wed Dec  2 06:06:16 2015
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.we
 import static org.apache.openmeetings.web.app.Application.getInvitationLink;
 import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.app.WebSession.getRights;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -44,6 +45,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.apache.openmeetings.web.app.Application;
@@ -54,6 +56,7 @@ import org.apache.wicket.ajax.AjaxReques
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.PasswordTextField;
@@ -288,9 +291,11 @@ public class InvitationDialog extends Ab
                private final DateTimePicker from;
                private final DateTimePicker to;
                private final DropDownChoice<String> timeZoneId;
+               private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
                
                public InvitationForm(String id, IModel<Invitation> model) {
                        super(id, model);
+                       boolean showGroups = 
AuthLevelUtil.hasAdminLevel(getRights());
                        RadioGroup<InviteeType> rdi = new 
RadioGroup<>("inviteeType", inviteeType);
                        add(rdi.add(new 
AjaxFormChoiceComponentUpdatingBehavior() {
                                private static final long serialVersionUID = 1L;
@@ -312,16 +317,20 @@ public class InvitationDialog extends Ab
                                        updateButtons(target);
                                }
                        }).setOutputMarkupId(true));
-                       
rdi.add(groups.setLabel(Model.of(Application.getString(126))).setRequired(true).add(new
 AjaxFormComponentUpdatingBehavior("change") {
-                               private static final long serialVersionUID = 1L;
-                               
-                               @Override
-                               protected void onUpdate(AjaxRequestTarget 
target) {
-                                       url.setModelObject(null);
-                                       updateButtons(target);
-                               }
-                       }).setOutputMarkupId(true));
-                       rdi.add(new Radio<InviteeType>("user", 
Model.of(InviteeType.user)), new Radio<InviteeType>("group", 
Model.of(InviteeType.group)));
+                       groupContainer.add(
+                               
groups.setLabel(Model.of(Application.getString(126))).setRequired(true).add(new 
AjaxFormComponentUpdatingBehavior("change") {
+                                       private static final long 
serialVersionUID = 1L;
+                                       
+                                       @Override
+                                       protected void 
onUpdate(AjaxRequestTarget target) {
+                                               url.setModelObject(null);
+                                               updateButtons(target);
+                                       }
+                               }).setOutputMarkupId(true)
+                               , new Radio<InviteeType>("group", 
Model.of(InviteeType.group))
+                       );
+                       rdi.add(groupContainer.setVisible(showGroups));
+                       rdi.add(new Radio<InviteeType>("user", 
Model.of(InviteeType.user)));
 
                        rdi.add(new TextField<String>("subject", subject));
                        rdi.add(new TextArea<String>("message", message));

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html?rev=1717572&r1=1717571&r2=1717572&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
 Wed Dec  2 06:06:16 2015
@@ -26,7 +26,7 @@
                                <td><input type="radio" 
wicket:id="user"/><label wicket:for="recipients"><wicket:message key="216" 
/></label></td>
                                <td><input type="hidden" wicket:id="recipients" 
class="input invitees" style="max-height: 80px"/></td>
                        </tr>
-                       <tr>
+                       <tr wicket:id="groupContainer">
                                <td><input type="radio" 
wicket:id="group"/><label wicket:for="groups"><wicket:message key="126" 
/></label></td>
                                <td><input type="hidden" wicket:id="groups" 
class="input invitees" style="max-height: 80px"/></td>
                        </tr>

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java?rev=1717572&r1=1717571&r2=1717572&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 Wed Dec  2 06:06:16 2015
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.we
 import static org.apache.openmeetings.web.app.Application.getInvitationLink;
 import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.app.WebSession.getRights;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -44,6 +45,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.apache.openmeetings.web.app.Application;
@@ -54,6 +56,7 @@ import org.apache.wicket.ajax.AjaxReques
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.PasswordTextField;
@@ -288,9 +291,11 @@ public class InvitationDialog extends Ab
                private final DateTimePicker from;
                private final DateTimePicker to;
                private final DropDownChoice<String> timeZoneId;
+               private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
                
                public InvitationForm(String id, IModel<Invitation> model) {
                        super(id, model);
+                       boolean showGroups = 
AuthLevelUtil.hasAdminLevel(getRights());
                        RadioGroup<InviteeType> rdi = new 
RadioGroup<>("inviteeType", inviteeType);
                        add(rdi.add(new 
AjaxFormChoiceComponentUpdatingBehavior() {
                                private static final long serialVersionUID = 1L;
@@ -312,16 +317,20 @@ public class InvitationDialog extends Ab
                                        updateButtons(target);
                                }
                        }).setOutputMarkupId(true));
-                       
rdi.add(groups.setLabel(Model.of(Application.getString(126))).setRequired(true).add(new
 AjaxFormComponentUpdatingBehavior("change") {
-                               private static final long serialVersionUID = 1L;
+                       groupContainer.add(
+                               
groups.setLabel(Model.of(Application.getString(126))).setRequired(true).add(new 
AjaxFormComponentUpdatingBehavior("change") {
+                                       private static final long 
serialVersionUID = 1L;
                                
-                               @Override
-                               protected void onUpdate(AjaxRequestTarget 
target) {
-                                       url.setModelObject(null);
-                                       updateButtons(target);
-                               }
-                       }).setOutputMarkupId(true));
-                       rdi.add(new Radio<InviteeType>("user", 
Model.of(InviteeType.user)), new Radio<InviteeType>("group", 
Model.of(InviteeType.group)));
+                                       @Override
+                                       protected void 
onUpdate(AjaxRequestTarget target) {
+                                               url.setModelObject(null);
+                                               updateButtons(target);
+                                       }
+                               }).setOutputMarkupId(true)
+                               , new Radio<InviteeType>("group", 
Model.of(InviteeType.group))
+                       );
+                       rdi.add(groupContainer.setVisible(showGroups));
+                       rdi.add(new Radio<InviteeType>("user", 
Model.of(InviteeType.user)));
 
                        rdi.add(new TextField<String>("subject", subject));
                        rdi.add(new TextArea<String>("message", message));


Reply via email to