Author: solomax
Date: Fri Sep 5 18:19:01 2014
New Revision: 1622752
URL: http://svn.apache.org/r1622752
Log:
[OPENMEETINGS-359] invitation dialog is implemented (without submit)
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/FieldLanguageDao.java
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/LanguageImport.java
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/admin.css
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/calendar.css
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/FillLabels.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/TestGetFieldValues.java
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/FieldLanguageDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/FieldLanguageDao.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/FieldLanguageDao.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/FieldLanguageDao.java
Fri Sep 5 18:19:01 2014
@@ -100,31 +100,19 @@ public class FieldLanguageDao implements
}
}
- public FieldLanguage getFieldLanguageById(Long id) {
+ public FieldLanguage get(Long id) {
+ TypedQuery<FieldLanguage> query =
em.createNamedQuery("getLanguageById", FieldLanguage.class);
+ query.setParameter("id", id);
+ FieldLanguage fl = null;
try {
- TypedQuery<FieldLanguage> query =
em.createNamedQuery("getLanguageById", FieldLanguage.class);
- query.setParameter("id", id);
- FieldLanguage fl = null;
- try {
- fl = query.getSingleResult();
- } catch (NoResultException ex) {
- }
- return fl;
- } catch (Exception ex2) {
- log.error("[getLanguageById]: ", ex2);
+ fl = query.getSingleResult();
+ } catch (NoResultException ex) {
}
- return null;
+ return fl;
}
- public List<FieldLanguage> getLanguages() {
- try {
- TypedQuery<FieldLanguage> query =
em.createNamedQuery("getLanguages", FieldLanguage.class);
- List<FieldLanguage> ll = query.getResultList();
- return ll;
- } catch (Exception ex2) {
- log.error("[getLanguages]: ", ex2);
- }
- return null;
+ public List<FieldLanguage> get() {
+ TypedQuery<FieldLanguage> query =
em.createNamedQuery("getLanguages", FieldLanguage.class);
+ return query.getResultList();
}
-
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/LanguageImport.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/LanguageImport.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/LanguageImport.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/LanguageImport.java
Fri Sep 5 18:19:01 2014
@@ -49,7 +49,7 @@ public class LanguageImport {
throws Exception {
// return null if no language availible
- if (fieldLanguageDaoImpl.getFieldLanguageById(language_id) ==
null) {
+ if (fieldLanguageDaoImpl.get(language_id) == null) {
return null;
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
Fri Sep 5 18:19:01 2014
@@ -230,7 +230,7 @@ public class InvitationManager implement
User owner = i.getInvitedBy();
String invitorName = owner.getFirstname() + " " +
owner.getLastname();
- boolean isCanceled = (type==MessageType.Cancel);
+ boolean isCanceled = (type == MessageType.Cancel);
String template =
InvitationTemplate.getEmail(i.getInvitee().getLanguage_id(), invitorName,
message, invitation_link, isCanceled);
String email = i.getInvitee().getAdresses().getEmail();
String replyToEmail = owner.getAdresses().getEmail();
@@ -238,7 +238,7 @@ public class InvitationManager implement
if (ical) {
String username = i.getInvitee().getLogin();
boolean isOwner = owner.getId() ==
i.getInvitee().getId();
- IcalHandler handler = new
IcalHandler(MessageType.Cancel == type ? IcalHandler.ICAL_METHOD_CANCEL :
IcalHandler.ICAL_METHOD_REQUEST);
+ IcalHandler handler = new IcalHandler(isCanceled ?
IcalHandler.ICAL_METHOD_CANCEL : IcalHandler.ICAL_METHOD_REQUEST);
HashMap<String, String> attendeeList =
handler.getAttendeeData(email, username, isOwner);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java
Fri Sep 5 18:19:01 2014
@@ -51,7 +51,7 @@ public class LangForm extends Form<Void>
public void updateLanguages(AjaxRequestTarget target) {
FieldLanguageDao langDao = getBean(FieldLanguageDao.class);
- languages.setChoices(langDao.getLanguages());
+ languages.setChoices(langDao.get());
// add(languages);
target.add(languages);
}
@@ -72,7 +72,7 @@ public class LangForm extends Form<Void>
languages = new DropDownChoice<FieldLanguage>("language"
, new PropertyModel<FieldLanguage>(langPanel,
"language")
- , langDao.getLanguages()
+ , langDao.get()
, new ChoiceRenderer<FieldLanguage>("name",
"id"));
languages.add(new AjaxFormComponentUpdatingBehavior("onchange")
{
@@ -104,7 +104,7 @@ public class LangForm extends Form<Void>
// TODO add feedback message
log.error("Error", e);
}
- languages.setChoices(langDao.getLanguages());
+ languages.setChoices(langDao.get());
target.add(languages);
// FIXME need to force update list container
target.add(listContainer);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
Fri Sep 5 18:19:01 2014
@@ -95,7 +95,7 @@ public class LangPanel extends AdminPane
// Create feedback panels
add(importFeedback.setOutputMarkupId(true));
FieldLanguageDao langDao = getBean(FieldLanguageDao.class);
- language = langDao.getFieldLanguageById(1L);
+ language = langDao.get(1L);
Fieldlanguagesvalues flv = new Fieldlanguagesvalues();
flv.setLanguage_id(language.getId());
@@ -201,7 +201,7 @@ public class LangPanel extends AdminPane
final List<Fieldlanguagesvalues> flvList =
getBean(FieldLanguagesValuesDao.class).getMixedFieldValuesList(language.getId());
- FieldLanguage fl =
getBean(FieldLanguageDao.class).getFieldLanguageById(language.getId());
+ FieldLanguage fl =
getBean(FieldLanguageDao.class).get(language.getId());
if (fl != null && flvList != null) {
download.setFileName(fl.getName() +
".xml");
download.setResourceStream(new
AbstractResourceStream() {
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
Fri Sep 5 18:19:01 2014
@@ -102,7 +102,7 @@ public class GeneralUserForm extends For
add(new DropDownChoice<FieldLanguage>("language"
, new PropertyModel<FieldLanguage>(this, "lang")
- , langDao.getLanguages()
+ , langDao.get()
, new ChoiceRenderer<FieldLanguage>("name",
"id"))
.add(new AjaxFormComponentUpdatingBehavior("onchange") {
private static final long serialVersionUID = 1L;
@@ -188,7 +188,7 @@ public class GeneralUserForm extends For
public void updateModelObject(User u) {
salutation =
getBean(SalutationDao.class).get(u.getSalutations_id(), getLanguage());
- lang =
getBean(FieldLanguageDao.class).getFieldLanguageById(u.getLanguage_id());
+ lang = getBean(FieldLanguageDao.class).get(u.getLanguage_id());
}
@Override
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
Fri Sep 5 18:19:01 2014
@@ -247,7 +247,7 @@ public class RegisterDialog extends Abst
emailField.setLabel(Model.of(WebSession.getString(119)));
emailField.add(RfcCompliantEmailAddressValidator.getInstance());
add(langField = new
DropDownChoice<FieldLanguage>("lang", new PropertyModel<FieldLanguage>(
- RegisterDialog.this, "lang"),
getBean(FieldLanguageDao.class).getLanguages(),
+ RegisterDialog.this, "lang"),
getBean(FieldLanguageDao.class).get(),
new
ChoiceRenderer<FieldLanguage>("name", "id")));
langField.setRequired(true).setLabel(Model.of(WebSession.getString(111)));
add(tzDropDown.setRequired(true).setLabel(Model.of(WebSession.getString(1143))));
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.html
Fri Sep 5 18:19:01 2014
@@ -21,46 +21,56 @@
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<form wicket:id="form">
- <span wicket:id="feedback"></span>
<table>
- <tr><!-- <label wicket:for="email" -->
- <td><wicket:ommessage key="216"
/></td><td><input type="text"/></td>
+ <tr>
+ <td><label
wicket:for="recipients"><wicket:ommessage key="216" /></label></td>
+ <td><input type="hidden" wicket:id="recipients"
class="input"/></td>
</tr>
<tr>
- <td><wicket:ommessage key="215"
/></td><td><input type="text"/></td>
+ <td><label
wicket:for="subject"><wicket:ommessage key="215" /></label></td>
+ <td><input type="text" wicket:id="subject"
class="input"/></td>
</tr>
<tr>
- <td><wicket:ommessage key="217"
/></td><td><textarea></textarea></td>
+ <td><label
wicket:for="message"><wicket:ommessage key="217" /></label></td>
+ <td><textarea wicket:id="message" style="width:
280px; height: 70px;"></textarea></td>
</tr>
<tr>
- <td colspan="2"><input
type="checkbox"/><wicket:ommessage key="524" /></td>
+ <td colspan="2"><input
wicket:id="passwordProtected" type="checkbox"/> <label
+
wicket:for="passwordProtected"><wicket:ommessage key="524" /></label></td>
</tr>
<tr>
- <td><wicket:ommessage key="525"
/></td><td><input type="password"/></td>
+ <td><label
wicket:for="password"><wicket:ommessage key="525" /></label></td>
+ <td><input wicket:id="password"
type="password"/></td>
</tr>
<tr>
<td><wicket:ommessage key="526" /></td>
- <td><div><input type="radio"><wicket:ommessage
key="527" /></input>
- <input type="radio"><wicket:ommessage
key="528" /></input>
- <input type="radio"><wicket:ommessage
key="529" /></input></div>
+ <td>
+ <div wicket:id="valid">
+ <input type="radio"
wicket:id="one"/><label wicket:for="one"><wicket:ommessage key="527" /></label>
+ <input type="radio"
wicket:id="period"/><label wicket:for="period"><wicket:ommessage key="528"
/></label>
+ <input type="radio"
wicket:id="endless"/><label wicket:for="endless"><wicket:ommessage key="529"
/></label>
+ </div>
</td>
</tr>
<tr>
- <td><wicket:ommessage key="530" /></td><td></td>
+ <td><label
wicket:for="validFrom"><wicket:ommessage key="530" /></label></td>
+ <td><span class="date time picker"
wicket:id="validFrom"></span></td>
</tr>
<tr>
- <td><wicket:ommessage key="531" /></td><td></td>
+ <td><label
wicket:for="validTo"><wicket:ommessage key="531" /></label></td>
+ <td><span class="date time picker"
wicket:id="validTo"></span></td>
</tr>
<tr>
- <td><wicket:ommessage key="1143"
/></td><td><select/></td>
+ <td><wicket:ommessage key="1143"
/></td><td><select wicket:id="timeZoneId"/></td>
</tr>
<tr>
- <td><wicket:ommessage key="59"
/></td><td><select/></td>
+ <td><wicket:ommessage key="59"
/></td><td><select wicket:id="language"/></td>
</tr>
<tr>
- <td colspan="2"><input type="text"
disabled="disabled"/></td>
+ <td colspan="2"><input type="text"
disabled="disabled" style="width: 100%;"/></td>
</tr>
</table>
+ <span wicket:id="feedback"></span>
</form>
</wicket:panel>
</html>
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
Fri Sep 5 18:19:01 2014
@@ -18,39 +18,108 @@
*/
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.WebSession.AVAILABLE_TIMEZONES;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collection;
import java.util.List;
+import org.apache.openmeetings.db.dao.label.FieldLanguageDao;
+import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.label.FieldLanguage;
import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.Valid;
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.util.crypt.MD5;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.util.UserMultiChoice;
+import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
+import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
+import org.apache.wicket.markup.html.form.ChoiceRenderer;
+import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.markup.html.form.Radio;
+import org.apache.wicket.markup.html.form.RadioGroup;
+import org.apache.wicket.markup.html.form.TextArea;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.util.CollectionModel;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import com.googlecode.wicket.jquery.core.Options;
import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.kendo.ui.form.datetime.AjaxDateTimePicker;
+import com.googlecode.wicket.kendo.ui.form.datetime.DateTimePicker;
import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
public class InvitationDialog extends AbstractFormDialog<Invitation> {
private static final long serialVersionUID = 1L;
- private DialogButton generate = new
DialogButton(WebSession.getString(1526));
- private DialogButton send = new DialogButton(WebSession.getString(218));
- private DialogButton cancel = new
DialogButton(WebSession.getString(219));
- private Form<Invitation> form;
- private final KendoFeedbackPanel feedback = new
KendoFeedbackPanel("feedback");
-
- public InvitationDialog(String id) {
- super(id, WebSession.getString(214));
- add(form = new Form<Invitation>("form") {
- private static final long serialVersionUID = 1L;
-
- {
- add(feedback);
- }
- });
+ private static final Logger log =
Red5LoggerFactory.getLogger(InvitationDialog.class, webAppRootKey);
+ private final DialogButton generate = new
DialogButton(WebSession.getString(1526));
+ private final DialogButton send = new
DialogButton(WebSession.getString(218));
+ private final DialogButton cancel = new
DialogButton(WebSession.getString(219));
+ private final InvitationForm form;
+ private final KendoFeedbackPanel feedback = new
KendoFeedbackPanel("feedback", new Options("button", true));
+ private final long roomId;
+ private final IModel<String> subject = Model.of((String)null);
+ private final IModel<String> message = Model.of((String)null);
+ private final IModel<String> tzId = Model.of((String)null);
+ private final IModel<FieldLanguage> lang =
Model.of((FieldLanguage)null);
+ private final IModel<Collection<User>> modelTo = new
CollectionModel<User>(new ArrayList<User>());
+
+ public InvitationDialog(String id, long roomId) {
+ super(id, WebSession.getString(214), new
CompoundPropertyModel<Invitation>(new Invitation()));
+ this.roomId = roomId;
+ add(form = new InvitationForm("form", getModel()));
}
@Override
- public Form<Invitation> getForm() {
+ public int getWidth() {
+ return 500;
+ }
+
+ public void updateModel(AjaxRequestTarget target) {
+ Invitation i = new Invitation();
+ User u = getBean(UserDao.class).get(getUserId());
+ i.setInvitedBy(u);
+ i.setRoom(getBean(RoomDao.class).get(roomId));
+ Calendar d = Calendar.getInstance();
+ i.setValidFrom(d.getTime());
+ d.add(Calendar.DATE, 1);
+ i.setValidTo(d.getTime());
+ i.setPassword("ASDDF");
+ String hashRaw = "HASH" + (System.currentTimeMillis());
+ try {
+ i.setHash(MD5.do_checksum(hashRaw));
+ } catch (NoSuchAlgorithmException e) {
+ log.error("Unexpected error while creating invitation",
e);
+ throw new RuntimeException(e);
+ }
+ subject.setObject(null);
+ message.setObject(null);
+ modelTo.setObject(new ArrayList<User>());
+ tzId.setObject(u.getTimeZoneId());
+
lang.setObject(getBean(FieldLanguageDao.class).get(u.getLanguage_id()));
+ form.setModelObject(i);
+ target.add(form);
+ }
+
+ @Override
+ public InvitationForm getForm() {
return form;
}
@@ -66,9 +135,99 @@ public class InvitationDialog extends Ab
@Override
protected void onError(AjaxRequestTarget target) {
+ target.add(feedback);
}
@Override
protected void onSubmit(AjaxRequestTarget target) {
+ //TODO implement this
+ for (User u : modelTo.getObject()) {
+ //getBean(InvitationManager)
+ }
+ }
+
+ private class InvitationForm extends Form<Invitation> {
+ private static final long serialVersionUID = 1L;
+ private final PasswordTextField passwd;
+ private final DateTimePicker from;
+ private final DateTimePicker to;
+ private final DropDownChoice<String> timeZoneId;
+
+ public InvitationForm(String id, IModel<Invitation> model) {
+ super(id, model);
+ add(new UserMultiChoice("recipients",
modelTo).setLabel(Model.of(WebSession.getString(216))).setRequired(true)
+ .add(new
AjaxFormComponentUpdatingBehavior("change") {
+ private static final long
serialVersionUID = 1L;
+
+ @Override
+ protected void
onUpdate(AjaxRequestTarget target) {
+
generate.setEnabled(modelTo.getObject().size() < 2, target);
+ }
+ }));
+ add(new TextField<String>("subject", subject));
+ add(new TextArea<String>("message", message));
+ add(new AjaxCheckBox("passwordProtected") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget
target) {
+
InvitationForm.this.getModelObject().setPasswordProtected(getConvertedInput());
+ passwd.setEnabled(getConvertedInput());
+ target.add(passwd);
+ }
+ });
+ add(new RadioGroup<Valid>("valid").add(
+ new Radio<Valid>("one",
Model.of(Valid.OneTime)).add(new AjaxEventBehavior("click") {
+ private static final long
serialVersionUID = 1L;
+
+ @Override
+ protected void
onEvent(AjaxRequestTarget target) {
+
target.add(from.setEnabled(false), to.setEnabled(false),
timeZoneId.setEnabled(false));
+ }
+ })
+ , new Radio<Valid>("period",
Model.of(Valid.Period)).add(new AjaxEventBehavior("click") {
+ private static final long
serialVersionUID = 1L;
+
+ @Override
+ protected void
onEvent(AjaxRequestTarget target) {
+
target.add(from.setEnabled(true), to.setEnabled(true),
timeZoneId.setEnabled(true));
+ }
+ })
+ , new Radio<Valid>("endless",
Model.of(Valid.Endless)).add(new AjaxEventBehavior("click") {
+ private static final long
serialVersionUID = 1L;
+
+ @Override
+ protected void
onEvent(AjaxRequestTarget target) {
+
target.add(from.setEnabled(false), to.setEnabled(false),
timeZoneId.setEnabled(false));
+ }
+ })
+ ));
+ add(passwd = new PasswordTextField("password"));
+ Invitation i = getModelObject();
+
passwd.setLabel(Model.of(WebSession.getString(525))).setOutputMarkupId(true).setEnabled(i.isPasswordProtected());
+ add(from = new AjaxDateTimePicker("validFrom",
"yyyy/MM/dd", "HH:mm:ss")); //FIXME use user locale
+ add(to = new AjaxDateTimePicker("validTo",
"yyyy/MM/dd", "HH:mm:ss")); //FIXME use user locale
+ add(timeZoneId = new
DropDownChoice<String>("timeZoneId", tzId, AVAILABLE_TIMEZONES));
+ from.setEnabled(i.getValid() ==
Valid.Period).setOutputMarkupId(true);
+ to.setEnabled(i.getValid() ==
Valid.Period).setOutputMarkupId(true);
+ timeZoneId.setEnabled(i.getValid() ==
Valid.Period).setOutputMarkupId(true)
+ .add(new
AjaxFormComponentUpdatingBehavior("change") {
+ private static final long
serialVersionUID = 1L;
+
+ @Override
+ protected void
onUpdate(AjaxRequestTarget target) {
+ //no-op added to preserve
selection
+ }
+ });
+ add(new DropDownChoice<FieldLanguage>("language", lang,
getBean(FieldLanguageDao.class).get(), new
ChoiceRenderer<FieldLanguage>("name", "id")));
+ add(feedback);
+ }
+
+ @Override
+ protected void onValidate() {
+ if
(from.getConvertedInput().after(to.getConvertedInput())) {
+ error(WebSession.getString(1592));
+ }
+ }
}
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
Fri Sep 5 18:19:01 2014
@@ -115,7 +115,7 @@ public class RoomPanel extends BasePanel
}
};
- private InvitationDialog invite = new InvitationDialog("invite");
+ private final InvitationDialog invite;
public RoomPanel(String id, long _roomId) {
this(id, getBean(RoomDao.class).get(_roomId));
@@ -124,6 +124,7 @@ public class RoomPanel extends BasePanel
public RoomPanel(String id, Room r) {
super(id);
this.roomId = r.getId();
+ invite = new InvitationDialog("invite", roomId);
add(new MenuPanel("roomMenu",
getMenu()).setVisible(!r.getHideTopBar()));
WebMarkupContainer wb = new WebMarkupContainer("whiteboard");
add(wb.setOutputMarkupId(true));
@@ -318,6 +319,7 @@ public class RoomPanel extends BasePanel
@Override
public void onClick(MainPage page, AjaxRequestTarget
target) {
+ invite.updateModel(target);
invite.open(target);
}
});
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html
Fri Sep 5 18:19:01 2014
@@ -29,11 +29,11 @@
</tr>
<tr>
<td><wicket:ommessage key="570" /></td>
- <td><span class="date"
wicket:id="start"></span></td>
+ <td><span class="date time picker"
wicket:id="start"></span></td>
</tr>
<tr>
<td><wicket:ommessage key="571" /></td>
- <td><span class="date"
wicket:id="end"></span></td>
+ <td><span class="date time picker"
wicket:id="end"></span></td>
</tr>
<tr>
<td><wicket:ommessage key="565" /></td>
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
Fri Sep 5 18:19:01 2014
@@ -97,7 +97,6 @@ public class AppointmentDialog extends A
return 650;
}
- //@Override
public void setModelObjectWithAjaxTarget(Appointment object,
AjaxRequestTarget target) {
form.setModelObject(object);
form.setEnabled(object.getOwner() == null || getUserId() ==
object.getOwner().getId());
@@ -276,8 +275,8 @@ public class AppointmentDialog extends A
add(toolbar);
add(new WysiwygEditor("description", toolbar));
add(new TextField<String>("location"));
- add(start = new DateTimePicker("start", "yyyy MMM dd",
"HH:mm:ss")); //FIXME use user locale
- add(end = new DateTimePicker("end", "yyyy MMM dd",
"HH:mm:ss")); //FIXME use user locale
+ add(start = new DateTimePicker("start", "yyyy/MM/dd",
"HH:mm:ss")); //FIXME use user locale
+ add(end = new DateTimePicker("end", "yyyy/MM/dd",
"HH:mm:ss")); //FIXME use user locale
pwd.setEnabled(getModelObject().isPasswordProtected());
pwd.setOutputMarkupId(true);
add(pwd);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/admin.css
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/admin.css?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/admin.css
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/admin.css
Fri Sep 5 18:19:01 2014
@@ -274,14 +274,6 @@ table.adminListTable td div.four_column_
height: 20px;
margin: 2px 2px;
}
-.adminForm .input {
- display: block;
- float: left;
- font-size: 14px;
- padding: 0px 0px;
- width: 280px;
- margin: 2px 2px;
-}
.adminForm input[type=checkbox], .adminForm input[type=radio] {
width: auto;
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/calendar.css
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/calendar.css?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/calendar.css
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/calendar.css
Fri Sep 5 18:19:01 2014
@@ -56,9 +56,6 @@
.appointmentPopUp td {
vertical-align: middle;
}
-.appointmentPopUp td .date {
- font-size: 12px;
-}
.appointmentPopUp .attendeeContainer {
background-color: #FFFFFF;
border: solid 1px #aacfe4;
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css
Fri Sep 5 18:19:01 2014
@@ -604,3 +604,14 @@ select.messages.selector {
bottom: 0;
position: fixed;
}
+form .input {
+ display: block;
+ float: left;
+ font-size: 14px;
+ padding: 0px 0px;
+ width: 280px;
+ margin: 2px 2px;
+}
+.date.time.picker {
+ font-size: 12px;
+}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/FillLabels.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/FillLabels.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/FillLabels.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/FillLabels.java
Fri Sep 5 18:19:01 2014
@@ -87,7 +87,7 @@ public class FillLabels extends Abstract
public void testCount() throws Exception {
FieldLanguage prevLanguage = null;
long prevCount = -1;
- for (FieldLanguage l : fieldLanguageDao.getLanguages()) {
+ for (FieldLanguage l : fieldLanguageDao.get()) {
long count = fieldValueDao.count(l.getId(), null);
if (prevLanguage != null) {
assertEquals(String.format("Language: %s
contains %d labels while %s contains %d labels"
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/TestGetFieldValues.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/TestGetFieldValues.java?rev=1622752&r1=1622751&r2=1622752&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/TestGetFieldValues.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/labels/TestGetFieldValues.java
Fri Sep 5 18:19:01 2014
@@ -45,7 +45,7 @@ public class TestGetFieldValues extends
@Test
public void testCount() throws Exception {
- int langCount = langDao.getLanguages().size();
+ int langCount = langDao.get().size();
assertTrue("Languages should not be empty: " + langCount,
langCount > 0);
Fieldvalues fv = langValueDao.get(1L);
assertNotNull("Fieldvalues should not be null", fv);