You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/05/18 05:39:05 UTC
[05/23] openmeetings git commit: Normalize all the line endings
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
index e468e36..e721c0b 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
@@ -1,510 +1,510 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.calendar;
-
-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.getRights;
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
-import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
-import static org.apache.openmeetings.web.util.CalendarWebHelper.getDateTime;
-
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
-import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.user.GroupUserDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.calendar.Appointment;
-import org.apache.openmeetings.db.entity.calendar.Appointment.Reminder;
-import org.apache.openmeetings.db.entity.calendar.MeetingMember;
-import org.apache.openmeetings.db.entity.calendar.OmCalendar;
-import org.apache.openmeetings.db.entity.room.Room;
-import org.apache.openmeetings.db.entity.user.Group;
-import org.apache.openmeetings.db.entity.user.GroupUser;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.db.util.AuthLevelUtil;
-import org.apache.openmeetings.db.util.FormatHelper;
-import org.apache.openmeetings.service.calendar.caldav.AppointmentManager;
-import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.common.GroupChoiceProvider;
-import org.apache.openmeetings.web.common.OmDateTimePicker;
-import org.apache.openmeetings.web.pages.MainPage;
-import org.apache.openmeetings.web.user.rooms.RoomEnterBehavior;
-import org.apache.openmeetings.web.util.RoomTypeDropDown;
-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;
-import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
-import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.CheckBox;
-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.IChoiceRenderer;
-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.RequiredTextField;
-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.LoadableDetachableModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.util.CollectionModel;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-import org.wicketstuff.select2.Select2MultiChoice;
-
-import com.googlecode.wicket.jquery.core.JQueryBehavior;
-import com.googlecode.wicket.jquery.core.Options;
-import com.googlecode.wicket.jquery.ui.JQueryUIBehavior;
-import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.WysiwygEditor;
-import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.toolbar.DefaultWysiwygToolbar;
-import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
-import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
-import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
-import com.googlecode.wicket.kendo.ui.form.datetime.local.DateTimePicker;
-import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
-
-public class AppointmentDialog extends AbstractFormDialog<Appointment> {
- private static final long serialVersionUID = 1L;
- private static final Logger log = Red5LoggerFactory.getLogger(AppointmentDialog.class, webAppRootKey);
-
- private AppointmentForm form;
- private DialogButton save = new DialogButton("save", Application.getString(813));
- private DialogButton cancel = new DialogButton("cancel", Application.getString(1130));
- private DialogButton delete = new DialogButton("delete", Application.getString(814));
- private DialogButton enterRoom = new DialogButton("enterRoom", Application.getString(1282));
- private final CalendarPanel calendarPanel;
- private final KendoFeedbackPanel feedback = new KendoFeedbackPanel("feedback", new Options("button", true));
- final MessageDialog confirmDelete;
- private final WebMarkupContainer sipContainer = new WebMarkupContainer("sip-container");
- //FIXME TODO need to be unified with RoomInvitationForm
- private final RadioGroup<InviteeType> rdi = new RadioGroup<>("inviteeType", Model.of(InviteeType.user));
- private final Select2MultiChoice<Group> groups = new Select2MultiChoice<>("groups"
- , new CollectionModel<Group>(new ArrayList<>())
- , new GroupChoiceProvider());
- private final UserMultiChoice attendees = new UserMultiChoice("attendees", new CollectionModel<User>(new ArrayList<>()));
- private enum InviteeType {
- user
- , group
- }
-
- @Override
- public int getWidth() {
- return 650;
- }
-
- @Override
- public void onConfigure(JQueryBehavior behavior) {
- super.onConfigure(behavior);
- behavior.setOption("classes", "{'ui-dialog': 'ui-corner-all appointment'}");
- }
-
- public void setModelObjectWithAjaxTarget(Appointment a, AjaxRequestTarget target) {
- form.setModelObject(a);
- form.start.setModelObject(getDateTime(a.getStart()));
- form.end.setModelObject(getDateTime(a.getEnd()));
- form.setEnabled(isOwner(a));
- log.debug(" -- setModelObjectWithAjaxTarget -- Current model " + a);
- if (a.getId() != null) {
- delete.setVisible(isOwner(a), target);
- enterRoom.setVisible(a.getRoom() != null, target);
- } else {
- delete.setVisible(false, target);
- enterRoom.setVisible(false, target);
- }
- if (a.getRoom() != null) {
- target.add(sipContainer.replace(new Label("room.confno", a.getRoom().getConfno())).setVisible(a.getRoom().isSipEnabled()));
- }
- save.setVisible(isOwner(a), target);
- super.setModelObject(a);
- }
-
- public AppointmentDialog(String id, String title, CalendarPanel calendarPanel, CompoundPropertyModel<Appointment> model) {
- super(id, title, model, true);
- log.debug(" -- AppointmentDialog -- Current model " + getModel().getObject());
- this.calendarPanel = calendarPanel;
- setOutputMarkupId(true);
- form = new AppointmentForm("appForm", model);
- add(form);
- confirmDelete = new MessageDialog("confirmDelete", Application.getString(814), Application.getString(833), DialogButtons.OK_CANCEL, DialogIcon.WARN){
- private static final long serialVersionUID = 1L;
-
- @Override
- public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
- if (button != null && button.match(AbstractDialog.OK)){
- deleteAppointment(handler);
- }
- }
- };
- add(confirmDelete);
- }
-
- protected void deleteAppointment(IPartialPageRequestHandler handler) {
- Appointment a = getModelObject();
- getBean(AppointmentDao.class).delete(a, getUserId());
- calendarPanel.refresh(handler);
- if (a.getCalendar() != null && a.getHref() != null) {
- calendarPanel.updatedeleteAppointment(handler, CalendarDialog.DIALOG_TYPE.DELETE_APPOINTMENT, a);
- }
- }
-
- @Override
- protected List<DialogButton> getButtons() {
- return Arrays.asList(enterRoom, save, delete, cancel);
- }
-
- @Override
- public DialogButton getSubmitButton() {
- return save;
- }
-
- @Override
- public Form<?> getForm() {
- return form;
- }
-
- @Override
- protected void onOpen(IPartialPageRequestHandler handler) {
- handler.add(form.add(new JQueryUIBehavior("#tabs", "tabs")));
- }
-
- @Override
- public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
- if (delete.equals(button)) {
- confirmDelete.open(handler);
- } else if (enterRoom.equals(button)) {
- RoomEnterBehavior.roomEnter((MainPage)getPage(), handler, getModelObject().getRoom().getId());
- }
- }
-
- @Override
- protected void onError(AjaxRequestTarget target) {
- target.add(feedback);
- }
-
- @Override
- protected void onSubmit(AjaxRequestTarget target) {
- Appointment a = form.getModelObject();
- a.setRoom(form.createRoom ? form.appRoom : form.groom.getModelObject());
- final List<MeetingMember> mms = a.getMeetingMembers() == null ? new ArrayList<>() : a.getMeetingMembers();
- Set<Long> currentIds = new HashSet<>();
- List<User> users = new ArrayList<>();
- if (InviteeType.group == rdi.getModelObject()) {
- //lets iterate through all group users
- for (Group g : groups.getModelObject()) {
- for (GroupUser gu : getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
- User u = gu.getUser();
- if (!currentIds.contains(u.getId())) {
- users.add(u);
- currentIds.add(u.getId());
- }
- }
- }
- } else {
- users = new ArrayList<>(attendees.getModelObject());
- for (User u : users) {
- if (u.getId() != null) {
- currentIds.add(u.getId());
- }
- }
- }
-
- //remove users
- for (Iterator<MeetingMember> i = mms.iterator(); i.hasNext();) {
- MeetingMember m = i.next();
- if (!currentIds.contains(m.getUser().getId())) {
- i.remove();
- }
- }
- Set<Long> originalIds = new HashSet<>();
- for (MeetingMember m : mms) {
- originalIds.add(m.getUser().getId());
- }
- //add users
- for (User u : users) {
- if (u.getId() == null || !originalIds.contains(u.getId())) {
- MeetingMember mm = new MeetingMember();
- mm.setUser(u);
- mm.setDeleted(false);
- mm.setInserted(a.getInserted());
- mm.setUpdated(a.getUpdated());
- mm.setAppointment(a);
- mms.add(mm);
- }
- }
- a.setMeetingMembers(mms);
- a.setStart(getDate(form.start.getModelObject()));
- a.setEnd(getDate(form.end.getModelObject()));
- a.setCalendar(form.cals.getModelObject());
- getBean(AppointmentDao.class).update(a, getUserId());
- if (a.getCalendar() != null) {
- calendarPanel.updatedeleteAppointment(target, CalendarDialog.DIALOG_TYPE.UPDATE_APPOINTMENT, a);
- }
- target.add(feedback);
- calendarPanel.refresh(target);
- }
-
- public static boolean isOwner(Appointment object) {
- return object.getOwner() != null && getUserId().equals(object.getOwner().getId());
- }
-
- private class AppointmentForm extends Form<Appointment> {
- private static final long serialVersionUID = 1L;
- private boolean createRoom = true;
- private Room appRoom = null;
- private final DateTimePicker start = new OmDateTimePicker("start", Model.of(LocalDateTime.now()));
- private final DateTimePicker end = new OmDateTimePicker("end", Model.of(LocalDateTime.now()));
- private final PasswordTextField pwd = new PasswordTextField("password");
- private final Label owner = new Label("aowner", Model.of(""));
- private final WebMarkupContainer ownerPanel = new WebMarkupContainer("owner-row");
- private final WebMarkupContainer createRoomBlock = new WebMarkupContainer("create-room-block", new CompoundPropertyModel<>(appRoom));
- private final DropDownChoice<Room.Type> roomType = new RoomTypeDropDown("type");
- private final DropDownChoice<Room> groom = new DropDownChoice<>(
- "groom"
- , Model.of(new Room())
- , getRoomList()
- , new ChoiceRenderer<Room>("name", "id"));
- private DropDownChoice<OmCalendar> cals = new DropDownChoice<>(
- "calendar",
- new LoadableDetachableModel<List<? extends OmCalendar>>() {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected List<? extends OmCalendar> load() {
- return getCalendarList();
- }
- },
- new ChoiceRenderer<OmCalendar>("title", "id")
- );
- private final WebMarkupContainer groupContainer = new WebMarkupContainer("groupContainer");
-
- private Room createAppRoom() {
- Room r = new Room();
- r.setAppointment(true);
- if (r.getType() == null) {
- r.setType(Room.Type.conference);
- }
- return r;
- }
-
- @Override
- protected void onModelChanged() {
- super.onModelChanged();
-
- Appointment a = getModelObject();
- if (a.getReminder() == null) {
- a.setReminder(Reminder.none);
- }
- if (a.getRoom() == null) {
- a.setRoom(createAppRoom());
- }
- createRoom = a.getRoom().isAppointment();
- if (createRoom) {
- appRoom = a.getRoom();
- } else {
- groom.setModelObject(a.getRoom());
- appRoom = createAppRoom();
- }
- createRoomBlock.setDefaultModelObject(appRoom);
- createRoomBlock.setEnabled(createRoom);
- groom.setEnabled(!createRoom);
- if (a.getId() == null) {
- java.util.Calendar start = WebSession.getCalendar();
- start.setTime(a.getStart());
- java.util.Calendar end = WebSession.getCalendar();
- end.setTime(a.getEnd());
-
- if (start.equals(end)) {
- end.add(java.util.Calendar.HOUR_OF_DAY, 1);
- a.setEnd(end.getTime());
- }
- cals.setEnabled(true);
- } else {
- cals.setEnabled(false);
- }
-
- rdi.setModelObject(InviteeType.user);
- attendees.setModelObject(new ArrayList<>());
- if (a.getMeetingMembers() != null) {
- for (MeetingMember mm : a.getMeetingMembers()) {
- attendees.getModelObject().add(mm.getUser());
- }
- }
- pwd.setEnabled(a.isPasswordProtected());
- owner.setDefaultModel(Model.of(FormatHelper.formatUser(a.getOwner())));
- ownerPanel.setVisible(!isOwner(a));
- }
-
- public AppointmentForm(String id, CompoundPropertyModel<Appointment> model) {
- super(id, model);
- setOutputMarkupId(true);
-
- add(feedback.setOutputMarkupId(true));
- //General
- add(new RequiredTextField<String>("title").setLabel(Model.of(Application.getString(572))));
- add(ownerPanel.add(owner));
- boolean showGroups = AuthLevelUtil.hasAdminLevel(getRights());
- add(rdi.add(new AjaxFormChoiceComponentUpdatingBehavior() {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onUpdate(AjaxRequestTarget target) {
- boolean groupsEnabled = InviteeType.group == rdi.getModelObject();
- target.add(groups.setEnabled(groupsEnabled), attendees.setEnabled(!groupsEnabled));
- }
- }));
- groupContainer.add(
- groups.setLabel(Model.of(Application.getString(126))).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true)
- , new Radio<>("group", Model.of(InviteeType.group))
- );
- if (showGroups) {
- groups.add(new AjaxFormComponentUpdatingBehavior("change") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onUpdate(AjaxRequestTarget target) {
- // added to update model
- }
- }).setEnabled(false);
- }
- rdi.add(attendees.add(new AjaxFormComponentUpdatingBehavior("change") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onUpdate(AjaxRequestTarget target) {
- // added to update model
- }
- })
- , groupContainer.setVisible(showGroups)
- );
- rdi.add(new Radio<>("user", Model.of(InviteeType.user)));
-
- add(new TextField<String>("location"));
- DefaultWysiwygToolbar toolbar = new DefaultWysiwygToolbar("toolbarContainer");
- add(toolbar);
- add(new WysiwygEditor("description", toolbar));
-
- //room
- add(new AjaxCheckBox("createRoom", new PropertyModel<Boolean>(this, "createRoom")) {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onUpdate(AjaxRequestTarget target) {
- createRoom = getConvertedInput();
- target.add(createRoomBlock.setEnabled(createRoom), groom.setEnabled(!createRoom));
- }
- });
- add(createRoomBlock.add(roomType, new CheckBox("moderated")).setEnabled(createRoom).setOutputMarkupId(true));
- add(groom.setRequired(true).setLabel(Model.of(Application.getString(406))).setEnabled(!createRoom).setOutputMarkupId(true));
- add(sipContainer.setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
- sipContainer.add(new Label("room.confno", "")).setVisible(false);
-
- //Advanced
- add(new DropDownChoice<>(
- "reminder"
- , Arrays.asList(Reminder.values())
- , new IChoiceRenderer<Reminder>() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public Object getDisplayValue(Reminder art) {
- return getString("appointment.reminder." + art.name());
- }
-
- @Override
- public String getIdValue(Reminder art, int index) {
- return art.name();
- }
-
- @Override
- public Reminder getObject(String id, IModel<? extends List<? extends Reminder>> choices) {
- for (Reminder art : choices.getObject()) {
- if (art.name().equals(id)) {
- return art;
- }
- }
- return null;
- }
- }));
- add(new AjaxCheckBox("passwordProtected") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onUpdate(AjaxRequestTarget target) {
- AppointmentForm.this.getModelObject().setPasswordProtected(getConvertedInput());
- pwd.setEnabled(AppointmentForm.this.getModelObject().isPasswordProtected());
- target.add(pwd);
- }
- });
- pwd.setEnabled(getModelObject().isPasswordProtected());
- pwd.setOutputMarkupId(true);
- add(pwd);
- add(cals.setNullValid(true).setLabel(Model.of("calendar")).setOutputMarkupId(true));
- }
-
- @Override
- protected void onInitialize() {
- super.onInitialize();
- add(start.setLabel(Model.of(getString("570"))).setRequired(true)
- , end.setLabel(Model.of(getString("571"))).setRequired(true));
- }
-
- private List<Room> getRoomList() {
- //FIXME need to be reviewed
- List<Room> result = new ArrayList<>();
- RoomDao dao = getBean(RoomDao.class);
- result.addAll(dao.getPublicRooms());
- for (GroupUser ou : getBean(UserDao.class).get(getUserId()).getGroupUsers()) {
- result.addAll(dao.getGroupRooms(ou.getGroup().getId()));
- }
- if (getModelObject().getRoom() != null && getModelObject().getRoom().isAppointment()) { //FIXME review
- result.add(getModelObject().getRoom());
- }
- return result;
- }
-
- private List<OmCalendar> getCalendarList(){
- return getBean(AppointmentManager.class).getCalendars(getUserId());
- }
-
- @Override
- protected void onValidate() {
- if (null != start.getConvertedInput() && null != end.getConvertedInput() && end.getConvertedInput().isBefore(start.getConvertedInput())) {
- error(Application.getString(1592));
- }
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.calendar;
+
+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.getRights;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDateTime;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.user.GroupUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.calendar.Appointment.Reminder;
+import org.apache.openmeetings.db.entity.calendar.MeetingMember;
+import org.apache.openmeetings.db.entity.calendar.OmCalendar;
+import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.user.Group;
+import org.apache.openmeetings.db.entity.user.GroupUser;
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
+import org.apache.openmeetings.db.util.FormatHelper;
+import org.apache.openmeetings.service.calendar.caldav.AppointmentManager;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.GroupChoiceProvider;
+import org.apache.openmeetings.web.common.OmDateTimePicker;
+import org.apache.openmeetings.web.pages.MainPage;
+import org.apache.openmeetings.web.user.rooms.RoomEnterBehavior;
+import org.apache.openmeetings.web.util.RoomTypeDropDown;
+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;
+import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.CheckBox;
+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.IChoiceRenderer;
+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.RequiredTextField;
+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.LoadableDetachableModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.util.CollectionModel;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.wicketstuff.select2.Select2MultiChoice;
+
+import com.googlecode.wicket.jquery.core.JQueryBehavior;
+import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.ui.JQueryUIBehavior;
+import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.WysiwygEditor;
+import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.toolbar.DefaultWysiwygToolbar;
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
+import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
+import com.googlecode.wicket.kendo.ui.form.datetime.local.DateTimePicker;
+import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
+
+public class AppointmentDialog extends AbstractFormDialog<Appointment> {
+ private static final long serialVersionUID = 1L;
+ private static final Logger log = Red5LoggerFactory.getLogger(AppointmentDialog.class, webAppRootKey);
+
+ private AppointmentForm form;
+ private DialogButton save = new DialogButton("save", Application.getString(813));
+ private DialogButton cancel = new DialogButton("cancel", Application.getString(1130));
+ private DialogButton delete = new DialogButton("delete", Application.getString(814));
+ private DialogButton enterRoom = new DialogButton("enterRoom", Application.getString(1282));
+ private final CalendarPanel calendarPanel;
+ private final KendoFeedbackPanel feedback = new KendoFeedbackPanel("feedback", new Options("button", true));
+ final MessageDialog confirmDelete;
+ private final WebMarkupContainer sipContainer = new WebMarkupContainer("sip-container");
+ //FIXME TODO need to be unified with RoomInvitationForm
+ private final RadioGroup<InviteeType> rdi = new RadioGroup<>("inviteeType", Model.of(InviteeType.user));
+ private final Select2MultiChoice<Group> groups = new Select2MultiChoice<>("groups"
+ , new CollectionModel<Group>(new ArrayList<>())
+ , new GroupChoiceProvider());
+ private final UserMultiChoice attendees = new UserMultiChoice("attendees", new CollectionModel<User>(new ArrayList<>()));
+ private enum InviteeType {
+ user
+ , group
+ }
+
+ @Override
+ public int getWidth() {
+ return 650;
+ }
+
+ @Override
+ public void onConfigure(JQueryBehavior behavior) {
+ super.onConfigure(behavior);
+ behavior.setOption("classes", "{'ui-dialog': 'ui-corner-all appointment'}");
+ }
+
+ public void setModelObjectWithAjaxTarget(Appointment a, AjaxRequestTarget target) {
+ form.setModelObject(a);
+ form.start.setModelObject(getDateTime(a.getStart()));
+ form.end.setModelObject(getDateTime(a.getEnd()));
+ form.setEnabled(isOwner(a));
+ log.debug(" -- setModelObjectWithAjaxTarget -- Current model " + a);
+ if (a.getId() != null) {
+ delete.setVisible(isOwner(a), target);
+ enterRoom.setVisible(a.getRoom() != null, target);
+ } else {
+ delete.setVisible(false, target);
+ enterRoom.setVisible(false, target);
+ }
+ if (a.getRoom() != null) {
+ target.add(sipContainer.replace(new Label("room.confno", a.getRoom().getConfno())).setVisible(a.getRoom().isSipEnabled()));
+ }
+ save.setVisible(isOwner(a), target);
+ super.setModelObject(a);
+ }
+
+ public AppointmentDialog(String id, String title, CalendarPanel calendarPanel, CompoundPropertyModel<Appointment> model) {
+ super(id, title, model, true);
+ log.debug(" -- AppointmentDialog -- Current model " + getModel().getObject());
+ this.calendarPanel = calendarPanel;
+ setOutputMarkupId(true);
+ form = new AppointmentForm("appForm", model);
+ add(form);
+ confirmDelete = new MessageDialog("confirmDelete", Application.getString(814), Application.getString(833), DialogButtons.OK_CANCEL, DialogIcon.WARN){
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
+ if (button != null && button.match(AbstractDialog.OK)){
+ deleteAppointment(handler);
+ }
+ }
+ };
+ add(confirmDelete);
+ }
+
+ protected void deleteAppointment(IPartialPageRequestHandler handler) {
+ Appointment a = getModelObject();
+ getBean(AppointmentDao.class).delete(a, getUserId());
+ calendarPanel.refresh(handler);
+ if (a.getCalendar() != null && a.getHref() != null) {
+ calendarPanel.updatedeleteAppointment(handler, CalendarDialog.DIALOG_TYPE.DELETE_APPOINTMENT, a);
+ }
+ }
+
+ @Override
+ protected List<DialogButton> getButtons() {
+ return Arrays.asList(enterRoom, save, delete, cancel);
+ }
+
+ @Override
+ public DialogButton getSubmitButton() {
+ return save;
+ }
+
+ @Override
+ public Form<?> getForm() {
+ return form;
+ }
+
+ @Override
+ protected void onOpen(IPartialPageRequestHandler handler) {
+ handler.add(form.add(new JQueryUIBehavior("#tabs", "tabs")));
+ }
+
+ @Override
+ public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
+ if (delete.equals(button)) {
+ confirmDelete.open(handler);
+ } else if (enterRoom.equals(button)) {
+ RoomEnterBehavior.roomEnter((MainPage)getPage(), handler, getModelObject().getRoom().getId());
+ }
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target) {
+ target.add(feedback);
+ }
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target) {
+ Appointment a = form.getModelObject();
+ a.setRoom(form.createRoom ? form.appRoom : form.groom.getModelObject());
+ final List<MeetingMember> mms = a.getMeetingMembers() == null ? new ArrayList<>() : a.getMeetingMembers();
+ Set<Long> currentIds = new HashSet<>();
+ List<User> users = new ArrayList<>();
+ if (InviteeType.group == rdi.getModelObject()) {
+ //lets iterate through all group users
+ for (Group g : groups.getModelObject()) {
+ for (GroupUser gu : getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
+ User u = gu.getUser();
+ if (!currentIds.contains(u.getId())) {
+ users.add(u);
+ currentIds.add(u.getId());
+ }
+ }
+ }
+ } else {
+ users = new ArrayList<>(attendees.getModelObject());
+ for (User u : users) {
+ if (u.getId() != null) {
+ currentIds.add(u.getId());
+ }
+ }
+ }
+
+ //remove users
+ for (Iterator<MeetingMember> i = mms.iterator(); i.hasNext();) {
+ MeetingMember m = i.next();
+ if (!currentIds.contains(m.getUser().getId())) {
+ i.remove();
+ }
+ }
+ Set<Long> originalIds = new HashSet<>();
+ for (MeetingMember m : mms) {
+ originalIds.add(m.getUser().getId());
+ }
+ //add users
+ for (User u : users) {
+ if (u.getId() == null || !originalIds.contains(u.getId())) {
+ MeetingMember mm = new MeetingMember();
+ mm.setUser(u);
+ mm.setDeleted(false);
+ mm.setInserted(a.getInserted());
+ mm.setUpdated(a.getUpdated());
+ mm.setAppointment(a);
+ mms.add(mm);
+ }
+ }
+ a.setMeetingMembers(mms);
+ a.setStart(getDate(form.start.getModelObject()));
+ a.setEnd(getDate(form.end.getModelObject()));
+ a.setCalendar(form.cals.getModelObject());
+ getBean(AppointmentDao.class).update(a, getUserId());
+ if (a.getCalendar() != null) {
+ calendarPanel.updatedeleteAppointment(target, CalendarDialog.DIALOG_TYPE.UPDATE_APPOINTMENT, a);
+ }
+ target.add(feedback);
+ calendarPanel.refresh(target);
+ }
+
+ public static boolean isOwner(Appointment object) {
+ return object.getOwner() != null && getUserId().equals(object.getOwner().getId());
+ }
+
+ private class AppointmentForm extends Form<Appointment> {
+ private static final long serialVersionUID = 1L;
+ private boolean createRoom = true;
+ private Room appRoom = null;
+ private final DateTimePicker start = new OmDateTimePicker("start", Model.of(LocalDateTime.now()));
+ private final DateTimePicker end = new OmDateTimePicker("end", Model.of(LocalDateTime.now()));
+ private final PasswordTextField pwd = new PasswordTextField("password");
+ private final Label owner = new Label("aowner", Model.of(""));
+ private final WebMarkupContainer ownerPanel = new WebMarkupContainer("owner-row");
+ private final WebMarkupContainer createRoomBlock = new WebMarkupContainer("create-room-block", new CompoundPropertyModel<>(appRoom));
+ private final DropDownChoice<Room.Type> roomType = new RoomTypeDropDown("type");
+ private final DropDownChoice<Room> groom = new DropDownChoice<>(
+ "groom"
+ , Model.of(new Room())
+ , getRoomList()
+ , new ChoiceRenderer<Room>("name", "id"));
+ private DropDownChoice<OmCalendar> cals = new DropDownChoice<>(
+ "calendar",
+ new LoadableDetachableModel<List<? extends OmCalendar>>() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected List<? extends OmCalendar> load() {
+ return getCalendarList();
+ }
+ },
+ new ChoiceRenderer<OmCalendar>("title", "id")
+ );
+ private final WebMarkupContainer groupContainer = new WebMarkupContainer("groupContainer");
+
+ private Room createAppRoom() {
+ Room r = new Room();
+ r.setAppointment(true);
+ if (r.getType() == null) {
+ r.setType(Room.Type.conference);
+ }
+ return r;
+ }
+
+ @Override
+ protected void onModelChanged() {
+ super.onModelChanged();
+
+ Appointment a = getModelObject();
+ if (a.getReminder() == null) {
+ a.setReminder(Reminder.none);
+ }
+ if (a.getRoom() == null) {
+ a.setRoom(createAppRoom());
+ }
+ createRoom = a.getRoom().isAppointment();
+ if (createRoom) {
+ appRoom = a.getRoom();
+ } else {
+ groom.setModelObject(a.getRoom());
+ appRoom = createAppRoom();
+ }
+ createRoomBlock.setDefaultModelObject(appRoom);
+ createRoomBlock.setEnabled(createRoom);
+ groom.setEnabled(!createRoom);
+ if (a.getId() == null) {
+ java.util.Calendar start = WebSession.getCalendar();
+ start.setTime(a.getStart());
+ java.util.Calendar end = WebSession.getCalendar();
+ end.setTime(a.getEnd());
+
+ if (start.equals(end)) {
+ end.add(java.util.Calendar.HOUR_OF_DAY, 1);
+ a.setEnd(end.getTime());
+ }
+ cals.setEnabled(true);
+ } else {
+ cals.setEnabled(false);
+ }
+
+ rdi.setModelObject(InviteeType.user);
+ attendees.setModelObject(new ArrayList<>());
+ if (a.getMeetingMembers() != null) {
+ for (MeetingMember mm : a.getMeetingMembers()) {
+ attendees.getModelObject().add(mm.getUser());
+ }
+ }
+ pwd.setEnabled(a.isPasswordProtected());
+ owner.setDefaultModel(Model.of(FormatHelper.formatUser(a.getOwner())));
+ ownerPanel.setVisible(!isOwner(a));
+ }
+
+ public AppointmentForm(String id, CompoundPropertyModel<Appointment> model) {
+ super(id, model);
+ setOutputMarkupId(true);
+
+ add(feedback.setOutputMarkupId(true));
+ //General
+ add(new RequiredTextField<String>("title").setLabel(Model.of(Application.getString(572))));
+ add(ownerPanel.add(owner));
+ boolean showGroups = AuthLevelUtil.hasAdminLevel(getRights());
+ add(rdi.add(new AjaxFormChoiceComponentUpdatingBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget target) {
+ boolean groupsEnabled = InviteeType.group == rdi.getModelObject();
+ target.add(groups.setEnabled(groupsEnabled), attendees.setEnabled(!groupsEnabled));
+ }
+ }));
+ groupContainer.add(
+ groups.setLabel(Model.of(Application.getString(126))).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true)
+ , new Radio<>("group", Model.of(InviteeType.group))
+ );
+ if (showGroups) {
+ groups.add(new AjaxFormComponentUpdatingBehavior("change") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget target) {
+ // added to update model
+ }
+ }).setEnabled(false);
+ }
+ rdi.add(attendees.add(new AjaxFormComponentUpdatingBehavior("change") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget target) {
+ // added to update model
+ }
+ })
+ , groupContainer.setVisible(showGroups)
+ );
+ rdi.add(new Radio<>("user", Model.of(InviteeType.user)));
+
+ add(new TextField<String>("location"));
+ DefaultWysiwygToolbar toolbar = new DefaultWysiwygToolbar("toolbarContainer");
+ add(toolbar);
+ add(new WysiwygEditor("description", toolbar));
+
+ //room
+ add(new AjaxCheckBox("createRoom", new PropertyModel<Boolean>(this, "createRoom")) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget target) {
+ createRoom = getConvertedInput();
+ target.add(createRoomBlock.setEnabled(createRoom), groom.setEnabled(!createRoom));
+ }
+ });
+ add(createRoomBlock.add(roomType, new CheckBox("moderated")).setEnabled(createRoom).setOutputMarkupId(true));
+ add(groom.setRequired(true).setLabel(Model.of(Application.getString(406))).setEnabled(!createRoom).setOutputMarkupId(true));
+ add(sipContainer.setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
+ sipContainer.add(new Label("room.confno", "")).setVisible(false);
+
+ //Advanced
+ add(new DropDownChoice<>(
+ "reminder"
+ , Arrays.asList(Reminder.values())
+ , new IChoiceRenderer<Reminder>() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Object getDisplayValue(Reminder art) {
+ return getString("appointment.reminder." + art.name());
+ }
+
+ @Override
+ public String getIdValue(Reminder art, int index) {
+ return art.name();
+ }
+
+ @Override
+ public Reminder getObject(String id, IModel<? extends List<? extends Reminder>> choices) {
+ for (Reminder art : choices.getObject()) {
+ if (art.name().equals(id)) {
+ return art;
+ }
+ }
+ return null;
+ }
+ }));
+ add(new AjaxCheckBox("passwordProtected") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget target) {
+ AppointmentForm.this.getModelObject().setPasswordProtected(getConvertedInput());
+ pwd.setEnabled(AppointmentForm.this.getModelObject().isPasswordProtected());
+ target.add(pwd);
+ }
+ });
+ pwd.setEnabled(getModelObject().isPasswordProtected());
+ pwd.setOutputMarkupId(true);
+ add(pwd);
+ add(cals.setNullValid(true).setLabel(Model.of("calendar")).setOutputMarkupId(true));
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ add(start.setLabel(Model.of(getString("570"))).setRequired(true)
+ , end.setLabel(Model.of(getString("571"))).setRequired(true));
+ }
+
+ private List<Room> getRoomList() {
+ //FIXME need to be reviewed
+ List<Room> result = new ArrayList<>();
+ RoomDao dao = getBean(RoomDao.class);
+ result.addAll(dao.getPublicRooms());
+ for (GroupUser ou : getBean(UserDao.class).get(getUserId()).getGroupUsers()) {
+ result.addAll(dao.getGroupRooms(ou.getGroup().getId()));
+ }
+ if (getModelObject().getRoom() != null && getModelObject().getRoom().isAppointment()) { //FIXME review
+ result.add(getModelObject().getRoom());
+ }
+ return result;
+ }
+
+ private List<OmCalendar> getCalendarList(){
+ return getBean(AppointmentManager.class).getCalendars(getUserId());
+ }
+
+ @Override
+ protected void onValidate() {
+ if (null != start.getConvertedInput() && null != end.getConvertedInput() && end.getConvertedInput().isBefore(start.getConvertedInput())) {
+ error(Application.getString(1592));
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
index 3e5cc63..5819d24 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
@@ -1,51 +1,51 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.calendar;
-
-import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
-import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
-import org.apache.openmeetings.db.entity.calendar.Appointment;
-
-import com.googlecode.wicket.jquery.ui.calendar.CalendarEvent;
-import com.googlecode.wicket.jquery.ui.calendar.CalendarModel;
-import com.googlecode.wicket.jquery.ui.calendar.ICalendarVisitor;
-
-public class AppointmentModel extends CalendarModel implements ICalendarVisitor {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void visit(CalendarEvent event) {
- //every event can be customized
- }
-
- @Override
- protected List<? extends CalendarEvent> load() {
- List<CalendarEvent> list = new ArrayList<>();
- for (Appointment a : getBean(AppointmentDao.class).getInRange(getUserId(), getDate(getStart()), getDate(getEnd()))) {
- list.add(new OmCalendarEvent(a));
- }
- return list;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.calendar;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.entity.calendar.Appointment;
+
+import com.googlecode.wicket.jquery.ui.calendar.CalendarEvent;
+import com.googlecode.wicket.jquery.ui.calendar.CalendarModel;
+import com.googlecode.wicket.jquery.ui.calendar.ICalendarVisitor;
+
+public class AppointmentModel extends CalendarModel implements ICalendarVisitor {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void visit(CalendarEvent event) {
+ //every event can be customized
+ }
+
+ @Override
+ protected List<? extends CalendarEvent> load() {
+ List<CalendarEvent> list = new ArrayList<>();
+ for (Appointment a : getBean(AppointmentDao.class).getInRange(getUserId(), getDate(getStart()), getDate(getEnd()))) {
+ list.add(new OmCalendarEvent(a));
+ }
+ return list;
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidget.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidget.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidget.java
index d15eed3..8f81e1a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidget.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidget.java
@@ -1,49 +1,49 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.dashboard;
-
-import org.apache.openmeetings.web.app.Application;
-import org.apache.wicket.model.Model;
-import org.wicketstuff.dashboard.AbstractWidget;
-import org.wicketstuff.dashboard.Widget;
-import org.wicketstuff.dashboard.WidgetLocation;
-import org.wicketstuff.dashboard.web.WidgetView;
-
-public class MyRoomsWidget extends AbstractWidget {
- private static final long serialVersionUID = 1L;
- public static final String WIDGET_ID_MY_ROOMS = "MyRoomsWidget";
-
- public MyRoomsWidget() {
- super();
- location = new WidgetLocation(0, 1);
- init();
- }
-
- @Override
- public void init() {
- super.init();
- title = Application.getString(781L);
- id = WIDGET_ID_MY_ROOMS;
- }
-
- @Override
- public WidgetView createView(String viewId) {
- return new MyRoomsWidgetView(viewId, new Model<Widget>(this));
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import org.apache.openmeetings.web.app.Application;
+import org.apache.wicket.model.Model;
+import org.wicketstuff.dashboard.AbstractWidget;
+import org.wicketstuff.dashboard.Widget;
+import org.wicketstuff.dashboard.WidgetLocation;
+import org.wicketstuff.dashboard.web.WidgetView;
+
+public class MyRoomsWidget extends AbstractWidget {
+ private static final long serialVersionUID = 1L;
+ public static final String WIDGET_ID_MY_ROOMS = "MyRoomsWidget";
+
+ public MyRoomsWidget() {
+ super();
+ location = new WidgetLocation(0, 1);
+ init();
+ }
+
+ @Override
+ public void init() {
+ super.init();
+ title = Application.getString(781L);
+ id = WIDGET_ID_MY_ROOMS;
+ }
+
+ @Override
+ public WidgetView createView(String viewId) {
+ return new MyRoomsWidgetView(viewId, new Model<Widget>(this));
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetDescriptor.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetDescriptor.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetDescriptor.java
index 5b65f5f..64a1a84 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetDescriptor.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetDescriptor.java
@@ -1,51 +1,51 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.dashboard;
-
-import org.apache.openmeetings.web.app.Application;
-import org.wicketstuff.dashboard.WidgetDescriptor;
-
-public class MyRoomsWidgetDescriptor implements WidgetDescriptor {
- private static final long serialVersionUID = 1L;
-
- @Override
- public String getName() {
- return Application.getString(781L);
- }
-
- @Override
- public String getProvider() {
- return "Apache Openmeetings";
- }
-
- @Override
- public String getDescription() {
- return Application.getString(782L);
- }
-
- @Override
- public String getWidgetClassName() {
- return MyRoomsWidget.class.getName();
- }
-
- @Override
- public String getTypeName() {
- return "om.widget.myrooms";
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import org.apache.openmeetings.web.app.Application;
+import org.wicketstuff.dashboard.WidgetDescriptor;
+
+public class MyRoomsWidgetDescriptor implements WidgetDescriptor {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String getName() {
+ return Application.getString(781L);
+ }
+
+ @Override
+ public String getProvider() {
+ return "Apache Openmeetings";
+ }
+
+ @Override
+ public String getDescription() {
+ return Application.getString(782L);
+ }
+
+ @Override
+ public String getWidgetClassName() {
+ return MyRoomsWidget.class.getName();
+ }
+
+ @Override
+ public String getTypeName() {
+ return "om.widget.myrooms";
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.html
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.html
index c37eccc..87cfeae 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.html
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<html xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div wicket:id="rooms"></div>
- </wicket:panel>
-</html>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div wicket:id="rooms"></div>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.java
index fee5901..6a9602a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/MyRoomsWidgetView.java
@@ -1,36 +1,36 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.dashboard;
-
-import static org.apache.openmeetings.web.common.UserPanel.getMyRooms;
-
-import org.apache.openmeetings.web.user.rooms.RoomsPanel;
-import org.apache.wicket.model.Model;
-import org.wicketstuff.dashboard.Widget;
-import org.wicketstuff.dashboard.web.WidgetView;
-
-public class MyRoomsWidgetView extends WidgetView {
- private static final long serialVersionUID = 1L;
-
- public MyRoomsWidgetView(String id, Model<Widget> model) {
- super(id, model);
-
- add(new RoomsPanel("rooms", getMyRooms()));
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import static org.apache.openmeetings.web.common.UserPanel.getMyRooms;
+
+import org.apache.openmeetings.web.user.rooms.RoomsPanel;
+import org.apache.wicket.model.Model;
+import org.wicketstuff.dashboard.Widget;
+import org.wicketstuff.dashboard.web.WidgetView;
+
+public class MyRoomsWidgetView extends WidgetView {
+ private static final long serialVersionUID = 1L;
+
+ public MyRoomsWidgetView(String id, Model<Widget> model) {
+ super(id, model);
+
+ add(new RoomsPanel("rooms", getMyRooms()));
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.html
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.html
index 20926c3..c6151d9 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.html
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<html xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div wicket:id="dashboard" class="dashboard"></div>
- </wicket:panel>
-</html>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div wicket:id="dashboard" class="dashboard"></div>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.java
index 772476f..c1e291e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.java
@@ -1,36 +1,36 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.dashboard;
-
-import org.apache.openmeetings.db.util.FormatHelper;
-import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.common.UserPanel;
-import org.apache.wicket.model.Model;
-import org.wicketstuff.dashboard.web.DashboardPanel;
-
-public class OmDashboardPanel extends UserPanel {
- private static final long serialVersionUID = 1L;
-
- public OmDashboardPanel(String id) {
- super(id);
-
- boolean isRtl = FormatHelper.isRtlLanguage(WebSession.get().getLocale().toLanguageTag());
- add(new DashboardPanel("dashboard", Model.of(WebSession.getDashboard())).setRtlModel(Model.of(isRtl)));
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import org.apache.openmeetings.db.util.FormatHelper;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.UserPanel;
+import org.apache.wicket.model.Model;
+import org.wicketstuff.dashboard.web.DashboardPanel;
+
+public class OmDashboardPanel extends UserPanel {
+ private static final long serialVersionUID = 1L;
+
+ public OmDashboardPanel(String id) {
+ super(id);
+
+ boolean isRtl = FormatHelper.isRtlLanguage(WebSession.get().getLocale().toLanguageTag());
+ add(new DashboardPanel("dashboard", Model.of(WebSession.getDashboard())).setRtlModel(Model.of(isRtl)));
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidget.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidget.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidget.java
index eadac94..f7353b1 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidget.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidget.java
@@ -1,49 +1,49 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.dashboard;
-
-import org.apache.openmeetings.web.app.Application;
-import org.apache.wicket.model.Model;
-import org.wicketstuff.dashboard.AbstractWidget;
-import org.wicketstuff.dashboard.Widget;
-import org.wicketstuff.dashboard.WidgetLocation;
-import org.wicketstuff.dashboard.web.WidgetView;
-
-public class RecentRoomsWidget extends AbstractWidget {
- private static final long serialVersionUID = 1L;
- public static final String WIDGET_ID_RECENT_ROOMS = "RecentRoomsWidget";
-
- public RecentRoomsWidget() {
- super();
- location = new WidgetLocation(1, 1);
- init();
- }
-
- @Override
- public void init() {
- super.init();
- title = Application.getString("widget.recent.title");
- id = WIDGET_ID_RECENT_ROOMS;
- }
-
- @Override
- public WidgetView createView(String viewId) {
- return new RecentRoomsWidgetView(viewId, new Model<Widget>(this));
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import org.apache.openmeetings.web.app.Application;
+import org.apache.wicket.model.Model;
+import org.wicketstuff.dashboard.AbstractWidget;
+import org.wicketstuff.dashboard.Widget;
+import org.wicketstuff.dashboard.WidgetLocation;
+import org.wicketstuff.dashboard.web.WidgetView;
+
+public class RecentRoomsWidget extends AbstractWidget {
+ private static final long serialVersionUID = 1L;
+ public static final String WIDGET_ID_RECENT_ROOMS = "RecentRoomsWidget";
+
+ public RecentRoomsWidget() {
+ super();
+ location = new WidgetLocation(1, 1);
+ init();
+ }
+
+ @Override
+ public void init() {
+ super.init();
+ title = Application.getString("widget.recent.title");
+ id = WIDGET_ID_RECENT_ROOMS;
+ }
+
+ @Override
+ public WidgetView createView(String viewId) {
+ return new RecentRoomsWidgetView(viewId, new Model<Widget>(this));
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetDescriptor.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetDescriptor.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetDescriptor.java
index 010e38a..feb2e12 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetDescriptor.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetDescriptor.java
@@ -1,51 +1,51 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.dashboard;
-
-import org.apache.openmeetings.web.app.Application;
-import org.wicketstuff.dashboard.WidgetDescriptor;
-
-public class RecentRoomsWidgetDescriptor implements WidgetDescriptor {
- private static final long serialVersionUID = 1L;
-
- @Override
- public String getName() {
- return Application.getString("widget.recent.title");
- }
-
- @Override
- public String getProvider() {
- return "Apache Openmeetings";
- }
-
- @Override
- public String getDescription() {
- return Application.getString("widget.recent.desc");
- }
-
- @Override
- public String getWidgetClassName() {
- return RecentRoomsWidget.class.getName();
- }
-
- @Override
- public String getTypeName() {
- return "om.widget.recentrooms";
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import org.apache.openmeetings.web.app.Application;
+import org.wicketstuff.dashboard.WidgetDescriptor;
+
+public class RecentRoomsWidgetDescriptor implements WidgetDescriptor {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String getName() {
+ return Application.getString("widget.recent.title");
+ }
+
+ @Override
+ public String getProvider() {
+ return "Apache Openmeetings";
+ }
+
+ @Override
+ public String getDescription() {
+ return Application.getString("widget.recent.desc");
+ }
+
+ @Override
+ public String getWidgetClassName() {
+ return RecentRoomsWidget.class.getName();
+ }
+
+ @Override
+ public String getTypeName() {
+ return "om.widget.recentrooms";
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.html
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.html
index c37eccc..87cfeae 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.html
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<html xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div wicket:id="rooms"></div>
- </wicket:panel>
-</html>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div wicket:id="rooms"></div>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.java
index 32b967e..73a3ef9 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.java
@@ -1,38 +1,38 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.dashboard;
-
-import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
-
-import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.web.user.rooms.RoomsPanel;
-import org.apache.wicket.model.Model;
-import org.wicketstuff.dashboard.Widget;
-import org.wicketstuff.dashboard.web.WidgetView;
-
-public class RecentRoomsWidgetView extends WidgetView {
- private static final long serialVersionUID = 1L;
-
- public RecentRoomsWidgetView(String id, Model<Widget> model) {
- super(id, model);
-
- add(new RoomsPanel("rooms", getBean(RoomDao.class).getRecent(getUserId())));
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.web.user.rooms.RoomsPanel;
+import org.apache.wicket.model.Model;
+import org.wicketstuff.dashboard.Widget;
+import org.wicketstuff.dashboard.web.WidgetView;
+
+public class RecentRoomsWidgetView extends WidgetView {
+ private static final long serialVersionUID = 1L;
+
+ public RecentRoomsWidgetView(String id, Model<Widget> model) {
+ super(id, model);
+
+ add(new RoomsPanel("rooms", getBean(RoomDao.class).getRecent(getUserId())));
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidget.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidget.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidget.java
index aee9f3b..674c350 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidget.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidget.java
@@ -1,49 +1,49 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.dashboard;
-
-import org.apache.openmeetings.web.app.Application;
-import org.apache.wicket.model.Model;
-import org.wicketstuff.dashboard.AbstractWidget;
-import org.wicketstuff.dashboard.Widget;
-import org.wicketstuff.dashboard.WidgetLocation;
-import org.wicketstuff.dashboard.web.WidgetView;
-
-public class RssWidget extends AbstractWidget {
- private static final long serialVersionUID = 1L;
- public static final String WIDGET_ID_RSS = "RssWidget";
-
- public RssWidget() {
- super();
- location = new WidgetLocation(1, 1);
- init();
- }
-
- @Override
- public void init() {
- super.init();
- title = Application.getString(277L);
- id = WIDGET_ID_RSS;
- }
-
- @Override
- public WidgetView createView(String viewId) {
- return new RssWidgetView(viewId, new Model<Widget>(this));
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import org.apache.openmeetings.web.app.Application;
+import org.apache.wicket.model.Model;
+import org.wicketstuff.dashboard.AbstractWidget;
+import org.wicketstuff.dashboard.Widget;
+import org.wicketstuff.dashboard.WidgetLocation;
+import org.wicketstuff.dashboard.web.WidgetView;
+
+public class RssWidget extends AbstractWidget {
+ private static final long serialVersionUID = 1L;
+ public static final String WIDGET_ID_RSS = "RssWidget";
+
+ public RssWidget() {
+ super();
+ location = new WidgetLocation(1, 1);
+ init();
+ }
+
+ @Override
+ public void init() {
+ super.init();
+ title = Application.getString(277L);
+ id = WIDGET_ID_RSS;
+ }
+
+ @Override
+ public WidgetView createView(String viewId) {
+ return new RssWidgetView(viewId, new Model<Widget>(this));
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/8e63647c/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidgetDescriptor.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidgetDescriptor.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidgetDescriptor.java
index 09487b3..ae33186 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidgetDescriptor.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidgetDescriptor.java
@@ -1,51 +1,51 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.user.dashboard;
-
-import org.apache.openmeetings.web.app.Application;
-import org.wicketstuff.dashboard.WidgetDescriptor;
-
-public class RssWidgetDescriptor implements WidgetDescriptor {
- private static final long serialVersionUID = 1L;
-
- @Override
- public String getName() {
- return Application.getString(277L);
- }
-
- @Override
- public String getProvider() {
- return "Apache Openmeetings";
- }
-
- @Override
- public String getDescription() {
- return Application.getString(277L);
- }
-
- @Override
- public String getWidgetClassName() {
- return RssWidget.class.getName();
- }
-
- @Override
- public String getTypeName() {
- return "om.widget.rss";
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import org.apache.openmeetings.web.app.Application;
+import org.wicketstuff.dashboard.WidgetDescriptor;
+
+public class RssWidgetDescriptor implements WidgetDescriptor {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String getName() {
+ return Application.getString(277L);
+ }
+
+ @Override
+ public String getProvider() {
+ return "Apache Openmeetings";
+ }
+
+ @Override
+ public String getDescription() {
+ return Application.getString(277L);
+ }
+
+ @Override
+ public String getWidgetClassName() {
+ return RssWidget.class.getName();
+ }
+
+ @Override
+ public String getTypeName() {
+ return "om.widget.rss";
+ }
+}