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%;