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 2012/09/14 10:07:18 UTC

svn commit: r1384678 - in /incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings: data/basic/ web/components/admin/labels/ web/components/admin/users/

Author: solomax
Date: Fri Sep 14 08:07:18 2012
New Revision: 1384678

URL: http://svn.apache.org/viewvc?rev=1384678&view=rev
Log:
Wicket: Add/remove language is added (small issues are remain)

Modified:
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java?rev=1384678&r1=1384677&r2=1384678&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java Fri Sep 14 08:07:18 2012
@@ -46,6 +46,11 @@ public class FieldLanguageDaoImpl {
 	@PersistenceContext
 	private EntityManager em;
 
+	public long getNextAvailableId() {
+		TypedQuery<Long> q = em.createQuery("SELECT MAX(fl.language_id) from FieldLanguage fl", Long.class);
+		return q.getSingleResult() + 1;
+	}
+	
 	public FieldLanguage addLanguage(int langId, String langName, Boolean langRtl, String code) {
 		try {
 			FieldLanguage fl = new FieldLanguage();

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html?rev=1384678&r1=1384677&r2=1384678&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html Fri Sep 14 08:07:18 2012
@@ -21,10 +21,21 @@
 <html xmlns="http://www.w3.org/1999/xhtml" 
 	xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.5-strict.dtd" lang="en">
 	<wicket:panel>
+		<script type="text/javascript">
+			$(function(){
+				$('#addLanguage').dialog({
+					closeOnEscape: true
+					, autoOpen: false
+					, resizable: false
+				});
+			});
+		</script>
 		<table class="adminPanel">
 			<tr>
 				<td valign="top" class="adminPanelColumnTable">
-					<form wicket:id="langForm"><select wicket:id="language"></select></form>
+					<div class="formNewButton" onclick="$('#addLanguage :text').val(''); $('#addLanguage').dialog('open');"><input/></div>
+					<div class="formCancelButton" wicket:id="deleteLngBtn"><input/></div>
+					<form wicket:id="langForm" style="display: inline-block;"><select wicket:id="language"></select></form>
 					<span wicket:id="navigator">[dataview navigator]</span>
 					<table wicket:id="listContainer" class="adminListTable">
 						<tr>
@@ -40,9 +51,45 @@
 					</table>
 				</td>
 				<td class="adminPanelColumnForm">
-					<!-- form css class="adminForm" -->
+					<form wicket:id="form" class="adminForm">
+						<div wicket:id="buttons"></div>
+						<table>
+							<tr>
+								<td colspan="2" style="font-weight: bold;"><wicket:ommessage key="353" /></td>
+							</tr>
+							<tr>
+								<td><wicket:ommessage key="356" /></td>
+								<td><span wicket:id="fieldvalues.fieldvalues_id"></span></td>
+							</tr>
+							<tr>
+								<td><wicket:ommessage key="354" /></td>
+								<td><input type="text" wicket:id="fieldvalues.name"/></td>
+							</tr>
+							<tr>
+								<td><wicket:ommessage key="355" /></td>
+								<td><textarea wicket:id="value"></textarea></td>
+							</tr>
+						</table>
+					</form>
 				</td>
 			</tr>
 		</table>
+		<div id="addLanguage" wicket:ommessage="title:364" style="display: none;">
+			<form wicket:id="addLangForm">
+				<table>
+					<tr>
+						<td><wicket:ommessage key="365" /></td>
+						<td><input type="text" wicket:id="name" /></td>
+					</tr>
+					<tr>
+						<td><wicket:ommessage key="1422" /></td>
+						<td><input type="text" wicket:id="iso"/></td>
+					</tr>
+					<tr>
+						<td align="right" colspan="2"><input wicket:id="add" type="submit" /></td>
+					</tr>
+				</table>
+			</form>
+		</div>
 	</wicket:panel>
 </html>

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java?rev=1384678&r1=1384677&r2=1384678&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java Fri Sep 14 08:07:18 2012
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.web.components.admin.labels;
 
+import java.util.Date;
 import java.util.Iterator;
 
 import org.apache.openmeetings.data.basic.FieldLanguageDaoImpl;
@@ -25,29 +26,45 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
 import org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues;
 import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.components.admin.AdminBaseForm;
 import org.apache.openmeetings.web.components.admin.AdminPanel;
 import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
 import org.apache.openmeetings.web.data.OmDataProvider;
+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.AjaxButton;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 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.RequiredTextField;
+import org.apache.wicket.markup.html.form.TextArea;
+import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.data.DataView;
+import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 
 public class LangPanel extends AdminPanel {
 	private static final long serialVersionUID = 5904180813198016592L;
 	private FieldLanguage language;
+	private String newLanguageName;
+	private String newLanguageISO;
 	
 	public LangPanel(String id) {
 		super(id);
 		FieldLanguageDaoImpl langDao = Application.getBean(FieldLanguageDaoImpl.class);
 		language = langDao.getFieldLanguageById(1L);
 		
+		final Form<Fieldlanguagesvalues> form = new AdminBaseForm<Fieldlanguagesvalues>("form", new CompoundPropertyModel<Fieldlanguagesvalues>(new Fieldlanguagesvalues()));
+		form.add(new Label("fieldvalues.fieldvalues_id"));
+		form.add(new TextField<String>("fieldvalues.name"));
+		form.add(new TextArea<String>("value"));
+        add(form);
 
 		final DataView<Fieldlanguagesvalues> dataView = new DataView<Fieldlanguagesvalues>("langList"
 				, new OmDataProvider<Fieldlanguagesvalues>(FieldLanguagesValuesDAO.class){
@@ -65,16 +82,14 @@ public class LangPanel extends AdminPane
 				item.add(new Label("lblId", "" + flv.getFieldvalues_id()));
 				item.add(new Label("name", flv.getFieldvalues().getName()));
 				item.add(new Label("value", flv.getValue()));
-				/*
 				item.add(new AjaxEventBehavior("onclick") {
 					private static final long serialVersionUID = -8069413566800571061L;
 
 					protected void onEvent(AjaxRequestTarget target) {
-						//form.setModelObject(u);
-						//target.add(form);
+						form.setModelObject(flv);
+						target.add(form);
 					}
 				});
-				*/
 			}
 		};
 		
@@ -104,8 +119,58 @@ public class LangPanel extends AdminPane
 					target.add(listContainer);
 				}
 			});
-		f.add(languages.setNullValid(true).setOutputMarkupId(true));
+		f.add(languages.setOutputMarkupId(true));
 		add(f.setOutputMarkupId(true));
-		
+
+		add(new WebMarkupContainer("deleteLngBtn").add(new AjaxEventBehavior("onclick"){
+			private static final long serialVersionUID = -1650946343073068686L;
+
+			@Override
+			protected void onEvent(AjaxRequestTarget target) {
+				language.setDeleted(true);
+				FieldLanguageDaoImpl langDao = Application.getBean(FieldLanguageDaoImpl.class);
+				try {
+					langDao.updateLanguage(language);
+				} catch (Exception e) {
+					// TODO add feedback message
+					e.printStackTrace();
+				}
+				languages.setChoices(langDao.getLanguages());
+				target.add(languages);
+				//FIXME need to forse update list container
+				target.add(listContainer);
+			}
+		})); 
+		Form<Void> addLangForm = new Form<Void>("addLangForm");
+		addLangForm.add(new AjaxButton("add", Model.of(WebSession.getString(366L)), addLangForm) {
+			private static final long serialVersionUID = -552597041751688740L;
+
+			@Override
+			public void onSubmit(AjaxRequestTarget target, Form<?> form) {
+				FieldLanguageDaoImpl langDao = Application.getBean(FieldLanguageDaoImpl.class);
+				
+				FieldLanguage fl = new FieldLanguage();
+				fl.setLanguage_id(langDao.getNextAvailableId());
+				fl.setStarttime(new Date());
+				fl.setDeleted(false);
+				fl.setName(newLanguageName);
+				fl.setRtl(false); //FIXME
+				fl.setCode(newLanguageISO);
+				
+				try {
+					langDao.updateLanguage(fl);
+				} catch (Exception e) {
+					// TODO add feedback message
+					e.printStackTrace();
+				}
+				languages.setChoices(langDao.getLanguages());
+				target.add(languages);
+				target.appendJavaScript("$('#addLanguage').dialog('close');");
+			}
+		});
+		add(addLangForm
+			.add(new RequiredTextField<String>("name", new PropertyModel<String>(this, "newLanguageName")))
+			.add(new RequiredTextField<String>("iso", new PropertyModel<String>(this, "newLanguageISO")))
+		);
 	}
 }

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java?rev=1384678&r1=1384677&r2=1384678&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java Fri Sep 14 08:07:18 2012
@@ -32,10 +32,13 @@ import org.apache.wicket.markup.repeater
 
 public class UsersPanel extends AdminPanel {
 	private static final long serialVersionUID = -4463107742579790120L;
-	private UserForm form = null;
 	
 	public UsersPanel(String id) {
 		super(id);
+		Users user = new Users();
+		final UserForm form = new UserForm("form", user);
+        add(form);
+        
 		DataView<Users> dataView = new DataView<Users>("userList", new OmDataProvider<Users>(UsersDaoImpl.class)) {
 			private static final long serialVersionUID = 8715559628755439596L;
 
@@ -68,9 +71,5 @@ public class UsersPanel extends AdminPan
 				target.add(listContainer);
 			}
 		});
-		
-		Users user = new Users();
-		form = new UserForm("form", user);
-        add(form);
 	}
 }