Author: solomax
Date: Sat Aug 20 00:17:15 2016
New Revision: 1756977

URL: http://svn.apache.org/viewvc?rev=1756977&view=rev
Log:
[OPENMEETINGS-1138] more generalization

Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/theme.css
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
    
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
 Sat Aug 20 00:17:15 2016
@@ -33,7 +33,7 @@ public class InvitationDialog extends Ab
        private static final long serialVersionUID = 1L;
        public final DialogButton generate = new DialogButton("generate", 
Application.getString(1526));
        public final DialogButton send = new DialogButton("send", 
Application.getString(218));
-       private final DialogButton cancel = new DialogButton("cancel", 
Application.getString(219));
+       public final DialogButton cancel = new DialogButton("cancel", 
Application.getString(219));
        private final InvitationForm form;
 
        public InvitationDialog(String id, final InvitationForm _form) {
@@ -80,13 +80,15 @@ public class InvitationDialog extends Ab
                form.onError(target);
        }
 
+       public void onSuperClick(AjaxRequestTarget target, DialogButton button) 
{
+               super.onClick(target, button);
+       }
+
        @Override
        public void onClick(AjaxRequestTarget target, DialogButton button) {
-               if (!form.onSubmit(target, button.equals(generate), 
button.equals(send))) {
-                       super.onClick(target, button);
-               }
+               form.onClick(target, button);
        }
-       
+
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
                //designed to be empty because of multiple submit buttons

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
 Sat Aug 20 00:17:15 2016
@@ -19,20 +19,28 @@
 package org.apache.openmeetings.web.common;
 
 import static org.apache.openmeetings.util.CalendarHelper.getDate;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
+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 java.util.ArrayList;
+import java.util.Collection;
 import java.util.UUID;
 
+import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.room.InvitationDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.util.crypt.CryptProvider;
 import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
@@ -48,13 +56,19 @@ import org.apache.wicket.markup.html.pan
 import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.util.CollectionModel;
+import org.apache.wicket.util.string.Strings;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
 import org.threeten.bp.LocalDateTime;
 
 import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
 import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 
 public abstract class InvitationForm extends Form<Invitation> {
        private static final long serialVersionUID = 1L;
+       private static final Logger log = 
Red5LoggerFactory.getLogger(InvitationForm.class, webAppRootKey);
        private final KendoFeedbackPanel feedback = new 
KendoFeedbackPanel("feedback", new Options("button", true));
        private final PasswordTextField passwd;
        private final DropDownChoice<String> timeZoneId = new 
DropDownChoice<String>("timeZoneId", Model.of((String)null), 
AVAILABLE_TIMEZONES);
@@ -64,6 +78,7 @@ public abstract class InvitationForm ext
        protected final TextField<String> subject = new 
TextField<String>("subject", Model.of((String)null));
        protected final TextArea<String> message = new 
TextArea<String>("message", Model.of((String)null));
        protected final TextField<String> url = new TextField<String>("url", 
Model.of((String)null));
+       protected final UserMultiChoice recipients = new 
UserMultiChoice("recipients", new CollectionModel<User>(new ArrayList<User>()));
        protected InvitationDialog dialog;
 
        public InvitationForm(String id) {
@@ -71,6 +86,15 @@ public abstract class InvitationForm ext
                setOutputMarkupId(true);
 
                add(subject, message);
+               
recipients.setLabel(Model.of(Application.getString(216))).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);
                add(new AjaxCheckBox("passwordProtected") {
                        private static final long serialVersionUID = 1L;
 
@@ -112,7 +136,13 @@ public abstract class InvitationForm ext
                add(url.setOutputMarkupId(true));
                add(lang, feedback);
        }
-       
+
+       protected void updateButtons(AjaxRequestTarget target) {
+               Collection<User> to = recipients.getModelObject();
+               dialog.send.setEnabled(to.size() > 0, target);
+               dialog.generate.setEnabled(to.size() == 1, target);
+       }
+
        @Override
        protected void onValidate() {
                if (from.getConvertedInput() != null && to.getConvertedInput() 
!= null && from.getConvertedInput().isAfter(to.getConvertedInput())) {
@@ -163,6 +193,8 @@ public abstract class InvitationForm ext
                lang.setModelObject(u.getLanguageId());
                url.setModelObject(null);
                setModelObject(i);
+               recipients.setModelObject(new ArrayList<User>());
+               recipients.setEnabled(true);
                target.add(this);
        }
 
@@ -170,5 +202,34 @@ public abstract class InvitationForm ext
                this.dialog = dialog;
        }
 
-       public abstract boolean onSubmit(AjaxRequestTarget target, boolean 
generate, boolean send);
+       public void onClick(AjaxRequestTarget target, DialogButton button) {
+               //TODO need to be reviewed
+               if (button.equals(dialog.cancel)) {
+                       dialog.onSuperClick(target, button);
+               } else if (button.equals(dialog.generate)) {
+                       Invitation i = 
create(recipients.getModelObject().iterator().next());
+                       setModelObject(i);
+                       
url.setModelObject(getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(),
 i));
+                       target.add(url);
+               } else if (button.equals(dialog.send)) {
+                       if (Strings.isEmpty(url.getModelObject())) {
+                               for (User u : recipients.getModelObject()) {
+                                       Invitation i = create(u);
+                                       try {
+                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
+                                       } catch (Exception e) {
+                                               log.error("error while sending 
invitation by User ", e);
+                                       }
+                               }
+                       } else {
+                               Invitation i = getModelObject();
+                               try {
+                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
+                               } catch (Exception e) {
+                                       log.error("error while sending 
invitation by URL ", e);
+                               }
+                       }
+                       dialog.onSuperClick(target, button);
+               }
+       }
 }
\ No newline at end of file

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java
 Sat Aug 20 00:17:15 2016
@@ -20,7 +20,6 @@ package org.apache.openmeetings.web.room
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.Application.getInvitationLink;
 import static org.apache.openmeetings.web.app.WebSession.getRights;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
@@ -28,7 +27,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
@@ -43,7 +41,6 @@ import org.apache.openmeetings.service.r
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.InvitationForm;
-import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
@@ -60,13 +57,14 @@ import org.wicketstuff.select2.ChoicePro
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+
 public class RoomInvitationForm extends InvitationForm {
        private static final long serialVersionUID = 1L;
        private static final Logger log = 
Red5LoggerFactory.getLogger(RoomInvitationForm.class, webAppRootKey);
        private final RadioGroup<InviteeType> rdi = new 
RadioGroup<>("inviteeType", Model.of(InviteeType.user));
        private final Long roomId;
        private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
-       final UserMultiChoice recipients = new UserMultiChoice("recipients", 
new CollectionModel<User>(new ArrayList<User>()));
        final Select2MultiChoice<Group> groups = new 
Select2MultiChoice<Group>("groups"
                        , new CollectionModel<Group>(new ArrayList<Group>())
                        , new ChoiceProvider<Group>() {
@@ -132,15 +130,6 @@ public class RoomInvitationForm extends
                                target.add(groups.setEnabled(groupsEnabled), 
recipients.setEnabled(!groupsEnabled));
                        }
                }));
-               
rdi.add(recipients.setLabel(Model.of(Application.getString(216))).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));
                groupContainer.add(
                        
groups.setLabel(Model.of(Application.getString(126))).setRequired(true).add(new 
AjaxFormComponentUpdatingBehavior("change") {
                                private static final long serialVersionUID = 1L;
@@ -153,17 +142,16 @@ public class RoomInvitationForm extends
                        }).setOutputMarkupId(true)
                        , new Radio<InviteeType>("group", 
Model.of(InviteeType.group))
                );
-               rdi.add(groupContainer.setVisible(showGroups));
+               rdi.add(recipients, groupContainer.setVisible(showGroups));
                rdi.add(new Radio<InviteeType>("user", 
Model.of(InviteeType.user)));
                
add(sipContainer.setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
                sipContainer.add(new Label("room.confno", 
"")).setVisible(false);
        }
 
-       private void updateButtons(AjaxRequestTarget target) {
+       @Override
+       protected void updateButtons(AjaxRequestTarget target) {
                if (rdi.getModelObject() == InviteeType.user) {
-                       Collection<User> to = recipients.getModelObject();
-                       dialog.send.setEnabled(to.size() > 0, target);
-                       dialog.generate.setEnabled(to.size() == 1, target);
+                       super.updateButtons(target);
                } else {
                        Collection<Group> to = groups.getModelObject();
                        dialog.send.setEnabled(to.size() > 0, target);
@@ -179,54 +167,26 @@ public class RoomInvitationForm extends
                if (i.getRoom() != null) {
                        target.add(sipContainer.replace(new 
Label("room.confno", 
i.getRoom().getConfno())).setVisible(i.getRoom().isSipEnabled()));
                }
-               recipients.setModelObject(new ArrayList<User>());
-               recipients.setEnabled(true);
                groups.setModelObject(new ArrayList<Group>());
                groups.setEnabled(false);
                rdi.setModelObject(InviteeType.user);
        }
 
        @Override
-       public boolean onSubmit(AjaxRequestTarget target, boolean generate, 
boolean send) {
+       public void onClick(AjaxRequestTarget target, DialogButton button) {
                //TODO need to be reviewed
-               if (generate) {
-                       Invitation i = 
create(recipients.getModelObject().iterator().next());
-                       setModelObject(i);
-                       
url.setModelObject(getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(),
 i));
-                       target.add(url);
-                       return true;
-               } else if (send) {
-                       if (Strings.isEmpty(url.getModelObject())) {
-                               if (rdi.getModelObject() == InviteeType.user) {
-                                       for (User u : 
recipients.getModelObject()) {
-                                               Invitation i = create(u);
-                                               try {
-                                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                                               } catch (Exception e) {
-                                                       log.error("error while 
sending invitation by User ", e);
-                                               }
-                                       }
-                               } else {
-                                       for (Group g : groups.getModelObject()) 
{
-                                               for (GroupUser ou : 
getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
-                                                       Invitation i = 
create(ou.getUser());
-                                                       try {
-                                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                                                       } catch (Exception e) {
-                                                               
log.error("error while sending invitation by Group ", e);
-                                                       }
-                                               }
+               if (button.equals(dialog.send) && 
Strings.isEmpty(url.getModelObject()) && rdi.getModelObject() == 
InviteeType.group) {
+                       for (Group g : groups.getModelObject()) {
+                               for (GroupUser ou : 
getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
+                                       Invitation i = create(ou.getUser());
+                                       try {
+                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
+                                       } catch (Exception e) {
+                                               log.error("error while sending 
invitation by Group ", e);
                                        }
                                }
-                       } else {
-                               Invitation i = getModelObject();
-                               try {
-                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                               } catch (Exception e) {
-                                       log.error("error while sending 
invitation by URL ", e);
-                               }
                        }
                }
-               return false;
+               super.onClick(target, button);
        }
 }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
 Sat Aug 20 00:17:15 2016
@@ -18,52 +18,16 @@
  */
 package org.apache.openmeetings.web.user.record;
 
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.Application.getInvitationLink;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.entity.room.Invitation;
-import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.service.room.InvitationManager;
-import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.common.InvitationForm;
-import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.util.CollectionModel;
-import org.apache.wicket.util.string.Strings;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
 
 public class RecordingInvitationForm extends InvitationForm {
        private static final long serialVersionUID = 1L;
-       private static final Logger log = 
Red5LoggerFactory.getLogger(RecordingInvitationForm.class, webAppRootKey);
        private Long recordingId;
-       final UserMultiChoice recipients = new UserMultiChoice("recipients", 
new CollectionModel<User>(new ArrayList<User>()));
 
        public RecordingInvitationForm(String id) {
                super(id);
-               
add(recipients.setLabel(Model.of(Application.getString(216))).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));
-       }
-
-       private void updateButtons(AjaxRequestTarget target) {
-               Collection<User> to = recipients.getModelObject();
-               dialog.send.setEnabled(to.size() > 0, target);
-               dialog.generate.setEnabled(to.size() == 1, target);
+               add(recipients);
        }
 
        @Override
@@ -71,39 +35,6 @@ public class RecordingInvitationForm ext
                super.updateModel(target);
                //Invitation i = getModelObject();
                //i.setReco
-               recipients.setModelObject(new ArrayList<User>());
-               recipients.setEnabled(true);
-       }
-
-       @Override
-       public boolean onSubmit(AjaxRequestTarget target, boolean generate, 
boolean send) {
-               //TODO need to be reviewed
-               if (generate) {
-                       Invitation i = 
create(recipients.getModelObject().iterator().next());
-                       setModelObject(i);
-                       
url.setModelObject(getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(),
 i));
-                       target.add(url);
-                       return true;
-               } else if (send) {
-                       if (Strings.isEmpty(url.getModelObject())) {
-                               for (User u : recipients.getModelObject()) {
-                                       Invitation i = create(u);
-                                       try {
-                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                                       } catch (Exception e) {
-                                               log.error("error while sending 
invitation by User ", e);
-                                       }
-                               }
-                       } else {
-                               Invitation i = getModelObject();
-                               try {
-                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                               } catch (Exception e) {
-                                       log.error("error while sending 
invitation by URL ", e);
-                               }
-                       }
-               }
-               return false;
        }
 
        public void setRecordingId(Long recordingId) {

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 Sat Aug 20 00:17:15 2016
@@ -90,6 +90,7 @@ public class VideoInfo extends Panel {
                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) 
{
                        rif.setRecordingId(rm.getObject().getId());
+                       invite.updateModel(target);
                        invite.open(target);
                }
        };

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/theme.css
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/theme.css?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/theme.css
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/theme.css
 Sat Aug 20 00:17:15 2016
@@ -241,6 +241,7 @@ html, body {
 }
 .file.tree.container {
        border: 1px solid #ccc;
+       max-width: 350px;
 }
 .file.tree {
        width: 100%;
@@ -633,6 +634,9 @@ form .input {
 .table .column {
        display: inline-block;
        margin-bottom: 5px;
+       min-height: initial;
+       float: none;
+       margin-right: 0;
 }
 .table .column.label {
        width: 20%;

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
 Sat Aug 20 00:17:15 2016
@@ -33,7 +33,7 @@ public class InvitationDialog extends Ab
        private static final long serialVersionUID = 1L;
        public final DialogButton generate = new DialogButton("generate", 
Application.getString(1526));
        public final DialogButton send = new DialogButton("send", 
Application.getString(218));
-       private final DialogButton cancel = new DialogButton("cancel", 
Application.getString(219));
+       public final DialogButton cancel = new DialogButton("cancel", 
Application.getString(219));
        private final InvitationForm form;
 
        public InvitationDialog(String id, final InvitationForm _form) {
@@ -80,13 +80,15 @@ public class InvitationDialog extends Ab
                form.onError(target);
        }
 
+       public void onSuperClick(AjaxRequestTarget target, DialogButton button) 
{
+               super.onClick(target, button);
+       }
+
        @Override
        public void onClick(AjaxRequestTarget target, DialogButton button) {
-               if (!form.onSubmit(target, button.equals(generate), 
button.equals(send))) {
-                       super.onClick(target, button);
-               }
+               form.onClick(target, button);
        }
-       
+
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
                //designed to be empty because of multiple submit buttons

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
 Sat Aug 20 00:17:15 2016
@@ -19,20 +19,28 @@
 package org.apache.openmeetings.web.common;
 
 import static org.apache.openmeetings.util.CalendarHelper.getDate;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
+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 java.util.ArrayList;
+import java.util.Collection;
 import java.util.UUID;
 
+import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.room.InvitationDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.util.crypt.CryptProvider;
 import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
@@ -48,13 +56,19 @@ import org.apache.wicket.markup.html.pan
 import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.util.CollectionModel;
+import org.apache.wicket.util.string.Strings;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
 import org.threeten.bp.LocalDateTime;
 
 import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
 import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 
 public abstract class InvitationForm extends Form<Invitation> {
        private static final long serialVersionUID = 1L;
+       private static final Logger log = 
Red5LoggerFactory.getLogger(InvitationForm.class, webAppRootKey);
        private final KendoFeedbackPanel feedback = new 
KendoFeedbackPanel("feedback", new Options("button", true));
        private final PasswordTextField passwd;
        private final DropDownChoice<String> timeZoneId = new 
DropDownChoice<String>("timeZoneId", Model.of((String)null), 
AVAILABLE_TIMEZONES);
@@ -64,6 +78,7 @@ public abstract class InvitationForm ext
        protected final TextField<String> subject = new 
TextField<String>("subject", Model.of((String)null));
        protected final TextArea<String> message = new 
TextArea<String>("message", Model.of((String)null));
        protected final TextField<String> url = new TextField<String>("url", 
Model.of((String)null));
+       protected final UserMultiChoice recipients = new 
UserMultiChoice("recipients", new CollectionModel<User>(new ArrayList<User>()));
        protected InvitationDialog dialog;
 
        public InvitationForm(String id) {
@@ -71,6 +86,15 @@ public abstract class InvitationForm ext
                setOutputMarkupId(true);
 
                add(subject, message);
+               
recipients.setLabel(Model.of(Application.getString(216))).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);
                add(new AjaxCheckBox("passwordProtected") {
                        private static final long serialVersionUID = 1L;
 
@@ -112,7 +136,13 @@ public abstract class InvitationForm ext
                add(url.setOutputMarkupId(true));
                add(lang, feedback);
        }
-       
+
+       protected void updateButtons(AjaxRequestTarget target) {
+               Collection<User> to = recipients.getModelObject();
+               dialog.send.setEnabled(to.size() > 0, target);
+               dialog.generate.setEnabled(to.size() == 1, target);
+       }
+
        @Override
        protected void onValidate() {
                if (from.getConvertedInput() != null && to.getConvertedInput() 
!= null && from.getConvertedInput().isAfter(to.getConvertedInput())) {
@@ -163,6 +193,8 @@ public abstract class InvitationForm ext
                lang.setModelObject(u.getLanguageId());
                url.setModelObject(null);
                setModelObject(i);
+               recipients.setModelObject(new ArrayList<User>());
+               recipients.setEnabled(true);
                target.add(this);
        }
 
@@ -170,5 +202,34 @@ public abstract class InvitationForm ext
                this.dialog = dialog;
        }
 
-       public abstract boolean onSubmit(AjaxRequestTarget target, boolean 
generate, boolean send);
+       public void onClick(AjaxRequestTarget target, DialogButton button) {
+               //TODO need to be reviewed
+               if (button.equals(dialog.cancel)) {
+                       dialog.onSuperClick(target, button);
+               } else if (button.equals(dialog.generate)) {
+                       Invitation i = 
create(recipients.getModelObject().iterator().next());
+                       setModelObject(i);
+                       
url.setModelObject(getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(),
 i));
+                       target.add(url);
+               } else if (button.equals(dialog.send)) {
+                       if (Strings.isEmpty(url.getModelObject())) {
+                               for (User u : recipients.getModelObject()) {
+                                       Invitation i = create(u);
+                                       try {
+                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
+                                       } catch (Exception e) {
+                                               log.error("error while sending 
invitation by User ", e);
+                                       }
+                               }
+                       } else {
+                               Invitation i = getModelObject();
+                               try {
+                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
+                               } catch (Exception e) {
+                                       log.error("error while sending 
invitation by URL ", e);
+                               }
+                       }
+                       dialog.onSuperClick(target, button);
+               }
+       }
 }
\ No newline at end of file

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 Sat Aug 20 00:17:15 2016
@@ -20,7 +20,6 @@ package org.apache.openmeetings.web.room
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.Application.getInvitationLink;
 import static org.apache.openmeetings.web.app.WebSession.getRights;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
@@ -28,7 +27,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
@@ -43,7 +41,6 @@ import org.apache.openmeetings.service.r
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.InvitationForm;
-import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
@@ -60,13 +57,14 @@ import org.wicketstuff.select2.ChoicePro
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+
 public class RoomInvitationForm extends InvitationForm {
        private static final long serialVersionUID = 1L;
        private static final Logger log = 
Red5LoggerFactory.getLogger(RoomInvitationForm.class, webAppRootKey);
        private final RadioGroup<InviteeType> rdi = new 
RadioGroup<>("inviteeType", Model.of(InviteeType.user));
        private final Long roomId;
        private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
-       final UserMultiChoice recipients = new UserMultiChoice("recipients", 
new CollectionModel<User>(new ArrayList<User>()));
        final Select2MultiChoice<Group> groups = new 
Select2MultiChoice<Group>("groups"
                        , new CollectionModel<Group>(new ArrayList<Group>())
                        , new ChoiceProvider<Group>() {
@@ -132,15 +130,6 @@ public class RoomInvitationForm extends
                                target.add(groups.setEnabled(groupsEnabled), 
recipients.setEnabled(!groupsEnabled));
                        }
                }));
-               
rdi.add(recipients.setLabel(Model.of(Application.getString(216))).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));
                groupContainer.add(
                        
groups.setLabel(Model.of(Application.getString(126))).setRequired(true).add(new 
AjaxFormComponentUpdatingBehavior("change") {
                                private static final long serialVersionUID = 1L;
@@ -153,17 +142,16 @@ public class RoomInvitationForm extends
                        }).setOutputMarkupId(true)
                        , new Radio<InviteeType>("group", 
Model.of(InviteeType.group))
                );
-               rdi.add(groupContainer.setVisible(showGroups));
+               rdi.add(recipients, groupContainer.setVisible(showGroups));
                rdi.add(new Radio<InviteeType>("user", 
Model.of(InviteeType.user)));
                
add(sipContainer.setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
                sipContainer.add(new Label("room.confno", 
"")).setVisible(false);
        }
 
-       private void updateButtons(AjaxRequestTarget target) {
+       @Override
+       protected void updateButtons(AjaxRequestTarget target) {
                if (rdi.getModelObject() == InviteeType.user) {
-                       Collection<User> to = recipients.getModelObject();
-                       dialog.send.setEnabled(to.size() > 0, target);
-                       dialog.generate.setEnabled(to.size() == 1, target);
+                       super.updateButtons(target);
                } else {
                        Collection<Group> to = groups.getModelObject();
                        dialog.send.setEnabled(to.size() > 0, target);
@@ -179,54 +167,26 @@ public class RoomInvitationForm extends
                if (i.getRoom() != null) {
                        target.add(sipContainer.replace(new 
Label("room.confno", 
i.getRoom().getConfno())).setVisible(i.getRoom().isSipEnabled()));
                }
-               recipients.setModelObject(new ArrayList<User>());
-               recipients.setEnabled(true);
                groups.setModelObject(new ArrayList<Group>());
                groups.setEnabled(false);
                rdi.setModelObject(InviteeType.user);
        }
 
        @Override
-       public boolean onSubmit(AjaxRequestTarget target, boolean generate, 
boolean send) {
+       public void onClick(AjaxRequestTarget target, DialogButton button) {
                //TODO need to be reviewed
-               if (generate) {
-                       Invitation i = 
create(recipients.getModelObject().iterator().next());
-                       setModelObject(i);
-                       
url.setModelObject(getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(),
 i));
-                       target.add(url);
-                       return true;
-               } else if (send) {
-                       if (Strings.isEmpty(url.getModelObject())) {
-                               if (rdi.getModelObject() == InviteeType.user) {
-                                       for (User u : 
recipients.getModelObject()) {
-                                               Invitation i = create(u);
-                                               try {
-                                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                                               } catch (Exception e) {
-                                                       log.error("error while 
sending invitation by User ", e);
-                                               }
-                                       }
-                               } else {
-                                       for (Group g : groups.getModelObject()) 
{
-                                               for (GroupUser ou : 
getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
-                                                       Invitation i = 
create(ou.getUser());
-                                                       try {
-                                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                                                       } catch (Exception e) {
-                                                               
log.error("error while sending invitation by Group ", e);
-                                                       }
-                                               }
+               if (button.equals(dialog.send) && 
Strings.isEmpty(url.getModelObject()) && rdi.getModelObject() == 
InviteeType.group) {
+                       for (Group g : groups.getModelObject()) {
+                               for (GroupUser ou : 
getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
+                                       Invitation i = create(ou.getUser());
+                                       try {
+                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
+                                       } catch (Exception e) {
+                                               log.error("error while sending 
invitation by Group ", e);
                                        }
                                }
-                       } else {
-                               Invitation i = getModelObject();
-                               try {
-                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                               } catch (Exception e) {
-                                       log.error("error while sending 
invitation by URL ", e);
-                               }
                        }
                }
-               return false;
+               super.onClick(target, button);
        }
 }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
 Sat Aug 20 00:17:15 2016
@@ -18,52 +18,16 @@
  */
 package org.apache.openmeetings.web.user.record;
 
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.Application.getInvitationLink;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.entity.room.Invitation;
-import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.service.room.InvitationManager;
-import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.common.InvitationForm;
-import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.util.CollectionModel;
-import org.apache.wicket.util.string.Strings;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
 
 public class RecordingInvitationForm extends InvitationForm {
        private static final long serialVersionUID = 1L;
-       private static final Logger log = 
Red5LoggerFactory.getLogger(RecordingInvitationForm.class, webAppRootKey);
        private Long recordingId;
-       final UserMultiChoice recipients = new UserMultiChoice("recipients", 
new CollectionModel<User>(new ArrayList<User>()));
 
        public RecordingInvitationForm(String id) {
                super(id);
-               
add(recipients.setLabel(Model.of(Application.getString(216))).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));
-       }
-
-       private void updateButtons(AjaxRequestTarget target) {
-               Collection<User> to = recipients.getModelObject();
-               dialog.send.setEnabled(to.size() > 0, target);
-               dialog.generate.setEnabled(to.size() == 1, target);
+               add(recipients);
        }
 
        @Override
@@ -71,39 +35,6 @@ public class RecordingInvitationForm ext
                super.updateModel(target);
                //Invitation i = getModelObject();
                //i.setReco
-               recipients.setModelObject(new ArrayList<User>());
-               recipients.setEnabled(true);
-       }
-
-       @Override
-       public boolean onSubmit(AjaxRequestTarget target, boolean generate, 
boolean send) {
-               //TODO need to be reviewed
-               if (generate) {
-                       Invitation i = 
create(recipients.getModelObject().iterator().next());
-                       setModelObject(i);
-                       
url.setModelObject(getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(),
 i));
-                       target.add(url);
-                       return true;
-               } else if (send) {
-                       if (Strings.isEmpty(url.getModelObject())) {
-                               for (User u : recipients.getModelObject()) {
-                                       Invitation i = create(u);
-                                       try {
-                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                                       } catch (Exception e) {
-                                               log.error("error while sending 
invitation by User ", e);
-                                       }
-                               }
-                       } else {
-                               Invitation i = getModelObject();
-                               try {
-                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                               } catch (Exception e) {
-                                       log.error("error while sending 
invitation by URL ", e);
-                               }
-                       }
-               }
-               return false;
        }
 
        public void setRecordingId(Long recordingId) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 Sat Aug 20 00:17:15 2016
@@ -90,6 +90,7 @@ public class VideoInfo extends Panel {
                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) 
{
                        rif.setRecordingId(rm.getObject().getId());
+                       invite.updateModel(target);
                        invite.open(target);
                }
        };

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css
 Sat Aug 20 00:17:15 2016
@@ -241,6 +241,7 @@ html, body {
 }
 .file.tree.container {
        border: 1px solid #ccc;
+       max-width: 350px;
 }
 .file.tree {
        width: 100%;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
 Sat Aug 20 00:17:15 2016
@@ -33,7 +33,7 @@ public class InvitationDialog extends Ab
        private static final long serialVersionUID = 1L;
        public final DialogButton generate = new DialogButton("generate", 
Application.getString(1526));
        public final DialogButton send = new DialogButton("send", 
Application.getString(218));
-       private final DialogButton cancel = new DialogButton("cancel", 
Application.getString(219));
+       public final DialogButton cancel = new DialogButton("cancel", 
Application.getString(219));
        private final InvitationForm form;
 
        public InvitationDialog(String id, final InvitationForm _form) {
@@ -80,13 +80,15 @@ public class InvitationDialog extends Ab
                form.onError(target);
        }
 
+       public void onSuperClick(AjaxRequestTarget target, DialogButton button) 
{
+               super.onClick(target, button);
+       }
+
        @Override
        public void onClick(AjaxRequestTarget target, DialogButton button) {
-               if (!form.onSubmit(target, button.equals(generate), 
button.equals(send))) {
-                       super.onClick(target, button);
-               }
+               form.onClick(target, button);
        }
-       
+
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
                //designed to be empty because of multiple submit buttons

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
 Sat Aug 20 00:17:15 2016
@@ -19,20 +19,28 @@
 package org.apache.openmeetings.web.common;
 
 import static org.apache.openmeetings.util.CalendarHelper.getDate;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
+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 java.util.ArrayList;
+import java.util.Collection;
 import java.util.UUID;
 
+import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.room.InvitationDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.util.crypt.CryptProvider;
 import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
@@ -48,13 +56,19 @@ import org.apache.wicket.markup.html.pan
 import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.util.CollectionModel;
+import org.apache.wicket.util.string.Strings;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
 import org.threeten.bp.LocalDateTime;
 
 import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
 import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 
 public abstract class InvitationForm extends Form<Invitation> {
        private static final long serialVersionUID = 1L;
+       private static final Logger log = 
Red5LoggerFactory.getLogger(InvitationForm.class, webAppRootKey);
        private final KendoFeedbackPanel feedback = new 
KendoFeedbackPanel("feedback", new Options("button", true));
        private final PasswordTextField passwd;
        private final DropDownChoice<String> timeZoneId = new 
DropDownChoice<String>("timeZoneId", Model.of((String)null), 
AVAILABLE_TIMEZONES);
@@ -64,6 +78,7 @@ public abstract class InvitationForm ext
        protected final TextField<String> subject = new 
TextField<String>("subject", Model.of((String)null));
        protected final TextArea<String> message = new 
TextArea<String>("message", Model.of((String)null));
        protected final TextField<String> url = new TextField<String>("url", 
Model.of((String)null));
+       protected final UserMultiChoice recipients = new 
UserMultiChoice("recipients", new CollectionModel<User>(new ArrayList<User>()));
        protected InvitationDialog dialog;
 
        public InvitationForm(String id) {
@@ -71,6 +86,15 @@ public abstract class InvitationForm ext
                setOutputMarkupId(true);
 
                add(subject, message);
+               
recipients.setLabel(Model.of(Application.getString(216))).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);
                add(new AjaxCheckBox("passwordProtected") {
                        private static final long serialVersionUID = 1L;
 
@@ -112,7 +136,13 @@ public abstract class InvitationForm ext
                add(url.setOutputMarkupId(true));
                add(lang, feedback);
        }
-       
+
+       protected void updateButtons(AjaxRequestTarget target) {
+               Collection<User> to = recipients.getModelObject();
+               dialog.send.setEnabled(to.size() > 0, target);
+               dialog.generate.setEnabled(to.size() == 1, target);
+       }
+
        @Override
        protected void onValidate() {
                if (from.getConvertedInput() != null && to.getConvertedInput() 
!= null && from.getConvertedInput().isAfter(to.getConvertedInput())) {
@@ -163,6 +193,8 @@ public abstract class InvitationForm ext
                lang.setModelObject(u.getLanguageId());
                url.setModelObject(null);
                setModelObject(i);
+               recipients.setModelObject(new ArrayList<User>());
+               recipients.setEnabled(true);
                target.add(this);
        }
 
@@ -170,5 +202,34 @@ public abstract class InvitationForm ext
                this.dialog = dialog;
        }
 
-       public abstract boolean onSubmit(AjaxRequestTarget target, boolean 
generate, boolean send);
+       public void onClick(AjaxRequestTarget target, DialogButton button) {
+               //TODO need to be reviewed
+               if (button.equals(dialog.cancel)) {
+                       dialog.onSuperClick(target, button);
+               } else if (button.equals(dialog.generate)) {
+                       Invitation i = 
create(recipients.getModelObject().iterator().next());
+                       setModelObject(i);
+                       
url.setModelObject(getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(),
 i));
+                       target.add(url);
+               } else if (button.equals(dialog.send)) {
+                       if (Strings.isEmpty(url.getModelObject())) {
+                               for (User u : recipients.getModelObject()) {
+                                       Invitation i = create(u);
+                                       try {
+                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
+                                       } catch (Exception e) {
+                                               log.error("error while sending 
invitation by User ", e);
+                                       }
+                               }
+                       } else {
+                               Invitation i = getModelObject();
+                               try {
+                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
+                               } catch (Exception e) {
+                                       log.error("error while sending 
invitation by URL ", e);
+                               }
+                       }
+                       dialog.onSuperClick(target, button);
+               }
+       }
 }
\ No newline at end of file

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 Sat Aug 20 00:17:15 2016
@@ -20,7 +20,6 @@ package org.apache.openmeetings.web.room
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.Application.getInvitationLink;
 import static org.apache.openmeetings.web.app.WebSession.getRights;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
@@ -28,7 +27,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
@@ -43,7 +41,6 @@ import org.apache.openmeetings.service.r
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.InvitationForm;
-import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
@@ -60,13 +57,14 @@ import org.wicketstuff.select2.ChoicePro
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+
 public class RoomInvitationForm extends InvitationForm {
        private static final long serialVersionUID = 1L;
        private static final Logger log = 
Red5LoggerFactory.getLogger(RoomInvitationForm.class, webAppRootKey);
        private final RadioGroup<InviteeType> rdi = new 
RadioGroup<>("inviteeType", Model.of(InviteeType.user));
        private final Long roomId;
        private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
-       final UserMultiChoice recipients = new UserMultiChoice("recipients", 
new CollectionModel<User>(new ArrayList<User>()));
        final Select2MultiChoice<Group> groups = new 
Select2MultiChoice<Group>("groups"
                        , new CollectionModel<Group>(new ArrayList<Group>())
                        , new ChoiceProvider<Group>() {
@@ -132,15 +130,6 @@ public class RoomInvitationForm extends
                                target.add(groups.setEnabled(groupsEnabled), 
recipients.setEnabled(!groupsEnabled));
                        }
                }));
-               
rdi.add(recipients.setLabel(Model.of(Application.getString(216))).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));
                groupContainer.add(
                        
groups.setLabel(Model.of(Application.getString(126))).setRequired(true).add(new 
AjaxFormComponentUpdatingBehavior("change") {
                                private static final long serialVersionUID = 1L;
@@ -153,17 +142,16 @@ public class RoomInvitationForm extends
                        }).setOutputMarkupId(true)
                        , new Radio<InviteeType>("group", 
Model.of(InviteeType.group))
                );
-               rdi.add(groupContainer.setVisible(showGroups));
+               rdi.add(recipients, groupContainer.setVisible(showGroups));
                rdi.add(new Radio<InviteeType>("user", 
Model.of(InviteeType.user)));
                
add(sipContainer.setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
                sipContainer.add(new Label("room.confno", 
"")).setVisible(false);
        }
 
-       private void updateButtons(AjaxRequestTarget target) {
+       @Override
+       protected void updateButtons(AjaxRequestTarget target) {
                if (rdi.getModelObject() == InviteeType.user) {
-                       Collection<User> to = recipients.getModelObject();
-                       dialog.send.setEnabled(to.size() > 0, target);
-                       dialog.generate.setEnabled(to.size() == 1, target);
+                       super.updateButtons(target);
                } else {
                        Collection<Group> to = groups.getModelObject();
                        dialog.send.setEnabled(to.size() > 0, target);
@@ -179,54 +167,26 @@ public class RoomInvitationForm extends
                if (i.getRoom() != null) {
                        target.add(sipContainer.replace(new 
Label("room.confno", 
i.getRoom().getConfno())).setVisible(i.getRoom().isSipEnabled()));
                }
-               recipients.setModelObject(new ArrayList<User>());
-               recipients.setEnabled(true);
                groups.setModelObject(new ArrayList<Group>());
                groups.setEnabled(false);
                rdi.setModelObject(InviteeType.user);
        }
 
        @Override
-       public boolean onSubmit(AjaxRequestTarget target, boolean generate, 
boolean send) {
+       public void onClick(AjaxRequestTarget target, DialogButton button) {
                //TODO need to be reviewed
-               if (generate) {
-                       Invitation i = 
create(recipients.getModelObject().iterator().next());
-                       setModelObject(i);
-                       
url.setModelObject(getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(),
 i));
-                       target.add(url);
-                       return true;
-               } else if (send) {
-                       if (Strings.isEmpty(url.getModelObject())) {
-                               if (rdi.getModelObject() == InviteeType.user) {
-                                       for (User u : 
recipients.getModelObject()) {
-                                               Invitation i = create(u);
-                                               try {
-                                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                                               } catch (Exception e) {
-                                                       log.error("error while 
sending invitation by User ", e);
-                                               }
-                                       }
-                               } else {
-                                       for (Group g : groups.getModelObject()) 
{
-                                               for (GroupUser ou : 
getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
-                                                       Invitation i = 
create(ou.getUser());
-                                                       try {
-                                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                                                       } catch (Exception e) {
-                                                               
log.error("error while sending invitation by Group ", e);
-                                                       }
-                                               }
+               if (button.equals(dialog.send) && 
Strings.isEmpty(url.getModelObject()) && rdi.getModelObject() == 
InviteeType.group) {
+                       for (Group g : groups.getModelObject()) {
+                               for (GroupUser ou : 
getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
+                                       Invitation i = create(ou.getUser());
+                                       try {
+                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
+                                       } catch (Exception e) {
+                                               log.error("error while sending 
invitation by Group ", e);
                                        }
                                }
-                       } else {
-                               Invitation i = getModelObject();
-                               try {
-                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                               } catch (Exception e) {
-                                       log.error("error while sending 
invitation by URL ", e);
-                               }
                        }
                }
-               return false;
+               super.onClick(target, button);
        }
 }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
 Sat Aug 20 00:17:15 2016
@@ -18,52 +18,16 @@
  */
 package org.apache.openmeetings.web.user.record;
 
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.Application.getInvitationLink;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.entity.room.Invitation;
-import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.service.room.InvitationManager;
-import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.common.InvitationForm;
-import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.util.CollectionModel;
-import org.apache.wicket.util.string.Strings;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
 
 public class RecordingInvitationForm extends InvitationForm {
        private static final long serialVersionUID = 1L;
-       private static final Logger log = 
Red5LoggerFactory.getLogger(RecordingInvitationForm.class, webAppRootKey);
        private Long recordingId;
-       final UserMultiChoice recipients = new UserMultiChoice("recipients", 
new CollectionModel<User>(new ArrayList<User>()));
 
        public RecordingInvitationForm(String id) {
                super(id);
-               
add(recipients.setLabel(Model.of(Application.getString(216))).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));
-       }
-
-       private void updateButtons(AjaxRequestTarget target) {
-               Collection<User> to = recipients.getModelObject();
-               dialog.send.setEnabled(to.size() > 0, target);
-               dialog.generate.setEnabled(to.size() == 1, target);
+               add(recipients);
        }
 
        @Override
@@ -71,39 +35,6 @@ public class RecordingInvitationForm ext
                super.updateModel(target);
                //Invitation i = getModelObject();
                //i.setReco
-               recipients.setModelObject(new ArrayList<User>());
-               recipients.setEnabled(true);
-       }
-
-       @Override
-       public boolean onSubmit(AjaxRequestTarget target, boolean generate, 
boolean send) {
-               //TODO need to be reviewed
-               if (generate) {
-                       Invitation i = 
create(recipients.getModelObject().iterator().next());
-                       setModelObject(i);
-                       
url.setModelObject(getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(),
 i));
-                       target.add(url);
-                       return true;
-               } else if (send) {
-                       if (Strings.isEmpty(url.getModelObject())) {
-                               for (User u : recipients.getModelObject()) {
-                                       Invitation i = create(u);
-                                       try {
-                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                                       } catch (Exception e) {
-                                               log.error("error while sending 
invitation by User ", e);
-                                       }
-                               }
-                       } else {
-                               Invitation i = getModelObject();
-                               try {
-                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getModelObject(), message.getModelObject(), false);
-                               } catch (Exception e) {
-                                       log.error("error while sending 
invitation by URL ", e);
-                               }
-                       }
-               }
-               return false;
        }
 
        public void setRecordingId(Long recordingId) {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 Sat Aug 20 00:17:15 2016
@@ -90,6 +90,7 @@ public class VideoInfo extends Panel {
                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) 
{
                        rif.setRecordingId(rm.getObject().getId());
+                       invite.updateModel(target);
                        invite.open(target);
                }
        };

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css?rev=1756977&r1=1756976&r2=1756977&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css 
(original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css 
Sat Aug 20 00:17:15 2016
@@ -241,6 +241,7 @@ html, body {
 }
 .file.tree.container {
        border: 1px solid #ccc;
+       max-width: 350px;
 }
 .file.tree {
        width: 100%;


Reply via email to