You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2012/09/09 12:44:55 UTC
svn commit: r1382444 - in /incubator/openmeetings/trunk/singlewebapp: ./
src/org/openmeetings/app/persistence/beans/user/
src/org/openmeetings/web/components/admin/user/
Author: sebawagner
Date: Sun Sep 9 10:44:54 2012
New Revision: 1382444
URL: http://svn.apache.org/viewvc?rev=1382444&view=rev
Log:
OPENMEETINGS-428 Refactor User administration to Wicket - couple of fields, add wcket-detatime package for datepicker
Modified:
incubator/openmeetings/trunk/singlewebapp/ivy.xml
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
Modified: incubator/openmeetings/trunk/singlewebapp/ivy.xml
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/ivy.xml?rev=1382444&r1=1382443&r2=1382444&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/ivy.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/ivy.xml Sun Sep 9 10:44:54 2012
@@ -236,6 +236,9 @@
<dependency org="org.apache.wicket" name="wicket-extensions" rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
+ <dependency org="org.apache.wicket" name="wicket-datetime" rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
+ <include type="jar" />
+ </dependency>
<!-- iCal4j seems to need this JAR -->
<dependency org="edu.emory.mathcs" name="backport-util-concurrent" rev="3.1" conf="openmeetings->*"/>
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java?rev=1382444&r1=1382443&r2=1382444&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java Sun Sep 9 10:44:54 2012
@@ -45,6 +45,7 @@ import org.openmeetings.app.persistence.
import org.openmeetings.app.persistence.beans.basic.Server;
import org.openmeetings.app.persistence.beans.basic.Sessiondata;
import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;
@@ -136,6 +137,10 @@ public class Users implements Serializab
@Column(name = "language_id")
@Element(data=true, required=false)
private Long language_id;
+ @ManyToOne(fetch = FetchType.EAGER)
+ @JoinColumn(name = "language_id", insertable = false, updatable = false)
+ @Element(data=true, required=false)
+ private FieldLanguage language;
@Column(name = "resethash")
@Element(data=true, required=false)
@@ -417,6 +422,16 @@ public class Users implements Serializab
public void setLanguage_id(Long language_id) {
this.language_id = language_id;
}
+
+
+
+ public FieldLanguage getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(FieldLanguage language) {
+ this.language = language;
+ }
public List<Organisation_Users> getOrganisation_users() {
return organisation_users;
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java?rev=1382444&r1=1382443&r2=1382444&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java Sun Sep 9 10:44:54 2012
@@ -2,60 +2,82 @@ package org.openmeetings.web.components.
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.extensions.markup.html.form.DateTextField;
+import org.apache.wicket.extensions.yui.calendar.DatePicker;
+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.TextField;
import org.apache.wicket.model.CompoundPropertyModel;
+import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
import org.openmeetings.app.data.user.Salutationmanagement;
import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
import org.openmeetings.app.persistence.beans.user.Salutations;
import org.openmeetings.app.persistence.beans.user.Users;
import org.openmeetings.web.app.Application;
import org.openmeetings.web.app.WebSession;
public class UserForm extends Form<Users> {
-
public UserForm(String id, Users user) {
super(id, new CompoundPropertyModel<Users>(user));
setOutputMarkupId(true);
-
+
add(new TextField<String>("login"));
-
-
- add(new DropDownChoice<Salutations>("salutations",
- Application.getBean(Salutationmanagement.class).getUserSalutations(WebSession.getLanguage()),
- new ChoiceRenderer<Salutations>("label.value", "salutations_id")));
-
+
+ add(new DropDownChoice<Salutations>("salutations", Application.getBean(
+ Salutationmanagement.class).getUserSalutations(
+ WebSession.getLanguage()), new ChoiceRenderer<Salutations>(
+ "label.value", "salutations_id")));
+
add(new TextField<String>("firstname"));
-
- add(new DropDownChoice<OmTimeZone>("omTimeZone",
- Application.getBean(OmTimeZoneDaoImpl.class).getOmTimeZones(),
- new ChoiceRenderer<OmTimeZone>("frontEndLabel", "jname")));
-
-
- //add(new SimpleFormComponentLabel("login-label", fc));
-
- // add a button that can be used to submit the form via ajax
- add(new AjaxButton("ajax-button", this) {
+ add(new TextField<String>("lastname"));
+
+ add(new DropDownChoice<OmTimeZone>("omTimeZone", Application.getBean(
+ OmTimeZoneDaoImpl.class).getOmTimeZones(),
+ new ChoiceRenderer<OmTimeZone>("frontEndLabel", "jname")));
+
+ add(new DropDownChoice<FieldLanguage>("language", Application.getBean(
+ FieldLanguageDaoImpl.class).getLanguages(),
+ new ChoiceRenderer<FieldLanguage>("name", "language_id")));
+
+ add(new CheckBox("forceTimeZoneCheck"));
+ add(new TextField<String>("adresses.email"));
+ add(new TextField<String>("adresses.phone"));
+ add(new CheckBox("sendSMS"));
+ DateTextField age = new DateTextField("age");
+ DatePicker datePicker = new DatePicker() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected String getAdditionalJavaScript() {
+ return "${calendar}.cfg.setProperty(\"navigator\",true,false); ${calendar}.render();";
+ }
+ };
+ datePicker.setShowOnFieldClick(true);
+ datePicker.setAutoHide(true);
+ age.add(datePicker);
+ add(age);
+
+ // add a button that can be used to submit the form via ajax
+ add(new AjaxButton("ajax-button", this) {
private static final long serialVersionUID = 839803820502260006L;
@Override
- protected void onSubmit(AjaxRequestTarget target, Form<?> form)
- {
- // repaint the feedback panel so that it is hidden
- // target.add(feedback);
- }
-
- @Override
- protected void onError(AjaxRequestTarget target, Form<?> form)
- {
- // repaint the feedback panel so errors are shown
- // target.add(feedback);
- }
- });
+ protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+ // repaint the feedback panel so that it is hidden
+ // target.add(feedback);
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target, Form<?> form) {
+ // repaint the feedback panel so errors are shown
+ // target.add(feedback);
+ }
+ });
}
/**
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html?rev=1382444&r1=1382443&r2=1382444&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html Sun Sep 9 10:44:54 2012
@@ -50,8 +50,25 @@
<br/>
<wicket:ommessage key="135" />: <select wicket:id="salutations"/> <input type="text" wicket:id="firstname"/>
<br/>
+ <wicket:ommessage key="136" />: <input type="text" wicket:id="lastname"/>
+ <br/>
<wicket:ommessage key="1143" />: <select wicket:id="omTimeZone"/>
<br/>
+ <wicket:ommessage key="111" />: <select wicket:id="language"/>
+ <br/>
+ <wicket:ommessage key="1149" />
+ <br/>
+ <wicket:ommessage key="1148" />: <input type="checkbox" wicket:id="forceTimeZoneCheck" />
+ <br/>
+ <wicket:ommessage key="137" />: <input type="text" wicket:id="adresses.email"/>
+ <br/>
+ <wicket:ommessage key="607" />: <input type="text" wicket:id="adresses.phone"/>
+ <br/>
+ <wicket:ommessage key="1503" />: <input type="checkbox" wicket:id="sendSMS"/>
+ <br/>
+ <wicket:ommessage key="138" />: <input type="text" wicket:id="age"/>
+ <br/>
+ <br/>
<input type="submit" value="submit via ajax" wicket:id="ajax-button"/>
</form>
</td>
Re: svn commit: r1382444 - in /incubator/openmeetings/trunk/singlewebapp:
./ src/org/openmeetings/app/persistence/beans/user/ src/org/openmeetings/web/components/admin/user/
Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
I have removed the mappings for salutations and language completely
again and use DropDownChoice<Long> for those comboboxes that have no
one-to-many mapping.
I think its better that way to have no duplicated attributes and to
stick with what we have.
Thanks for reviewing!
Sebastian
2012/9/9 Maxim Solodovnik <so...@gmail.com>:
> I'll remove @Element annotation from here
> + @Element(data=true, required=false)
> + private FieldLanguage language;
>
> to avoid export/import errors
>
>
> On Sun, Sep 9, 2012 at 5:44 PM, <se...@apache.org> wrote:
>>
>> Author: sebawagner
>> Date: Sun Sep 9 10:44:54 2012
>> New Revision: 1382444
>>
>> URL: http://svn.apache.org/viewvc?rev=1382444&view=rev
>> Log:
>> OPENMEETINGS-428 Refactor User administration to Wicket - couple of
>> fields, add wcket-detatime package for datepicker
>>
>> Modified:
>> incubator/openmeetings/trunk/singlewebapp/ivy.xml
>>
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
>>
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
>>
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
>>
>> Modified: incubator/openmeetings/trunk/singlewebapp/ivy.xml
>> URL:
>> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/ivy.xml?rev=1382444&r1=1382443&r2=1382444&view=diff
>>
>> ==============================================================================
>> --- incubator/openmeetings/trunk/singlewebapp/ivy.xml (original)
>> +++ incubator/openmeetings/trunk/singlewebapp/ivy.xml Sun Sep 9 10:44:54
>> 2012
>> @@ -236,6 +236,9 @@
>> <dependency org="org.apache.wicket"
>> name="wicket-extensions" rev="6.0.0-beta3" conf="openmeetings->*"
>> transitive="false">
>> <include type="jar" />
>> </dependency>
>> + <dependency org="org.apache.wicket" name="wicket-datetime"
>> rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
>> + <include type="jar" />
>> + </dependency>
>>
>> <!-- iCal4j seems to need this JAR -->
>> <dependency org="edu.emory.mathcs"
>> name="backport-util-concurrent" rev="3.1" conf="openmeetings->*"/>
>>
>> Modified:
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
>> URL:
>> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java?rev=1382444&r1=1382443&r2=1382444&view=diff
>>
>> ==============================================================================
>> ---
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
>> (original)
>> +++
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
>> Sun Sep 9 10:44:54 2012
>> @@ -45,6 +45,7 @@ import org.openmeetings.app.persistence.
>> import org.openmeetings.app.persistence.beans.basic.Server;
>> import org.openmeetings.app.persistence.beans.basic.Sessiondata;
>> import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
>> +import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
>> import org.simpleframework.xml.Element;
>> import org.simpleframework.xml.ElementList;
>> import org.simpleframework.xml.Root;
>> @@ -136,6 +137,10 @@ public class Users implements Serializab
>> @Column(name = "language_id")
>> @Element(data=true, required=false)
>> private Long language_id;
>> + @ManyToOne(fetch = FetchType.EAGER)
>> + @JoinColumn(name = "language_id", insertable = false, updatable =
>> false)
>> + @Element(data=true, required=false)
>> + private FieldLanguage language;
>>
>> @Column(name = "resethash")
>> @Element(data=true, required=false)
>> @@ -417,6 +422,16 @@ public class Users implements Serializab
>> public void setLanguage_id(Long language_id) {
>> this.language_id = language_id;
>> }
>> +
>> +
>> +
>> + public FieldLanguage getLanguage() {
>> + return language;
>> + }
>> +
>> + public void setLanguage(FieldLanguage language) {
>> + this.language = language;
>> + }
>>
>> public List<Organisation_Users> getOrganisation_users() {
>> return organisation_users;
>>
>> Modified:
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
>> URL:
>> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java?rev=1382444&r1=1382443&r2=1382444&view=diff
>>
>> ==============================================================================
>> ---
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
>> (original)
>> +++
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
>> Sun Sep 9 10:44:54 2012
>> @@ -2,60 +2,82 @@ package org.openmeetings.web.components.
>>
>> import org.apache.wicket.ajax.AjaxRequestTarget;
>> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
>> +import org.apache.wicket.extensions.markup.html.form.DateTextField;
>> +import org.apache.wicket.extensions.yui.calendar.DatePicker;
>> +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.TextField;
>> import org.apache.wicket.model.CompoundPropertyModel;
>> +import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
>> import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
>> import org.openmeetings.app.data.user.Salutationmanagement;
>> import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
>> +import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
>> import org.openmeetings.app.persistence.beans.user.Salutations;
>> import org.openmeetings.app.persistence.beans.user.Users;
>> import org.openmeetings.web.app.Application;
>> import org.openmeetings.web.app.WebSession;
>>
>> public class UserForm extends Form<Users> {
>> -
>>
>> public UserForm(String id, Users user) {
>> super(id, new CompoundPropertyModel<Users>(user));
>> setOutputMarkupId(true);
>> -
>> +
>> add(new TextField<String>("login"));
>> -
>> -
>> - add(new DropDownChoice<Salutations>("salutations",
>> -
>> Application.getBean(Salutationmanagement.class).getUserSalutations(WebSession.getLanguage()),
>> - new ChoiceRenderer<Salutations>("label.value",
>> "salutations_id")));
>> -
>> +
>> + add(new DropDownChoice<Salutations>("salutations",
>> Application.getBean(
>> +
>> Salutationmanagement.class).getUserSalutations(
>> + WebSession.getLanguage()), new
>> ChoiceRenderer<Salutations>(
>> + "label.value", "salutations_id")));
>> +
>> add(new TextField<String>("firstname"));
>> -
>> - add(new DropDownChoice<OmTimeZone>("omTimeZone",
>> -
>> Application.getBean(OmTimeZoneDaoImpl.class).getOmTimeZones(),
>> - new ChoiceRenderer<OmTimeZone>("frontEndLabel",
>> "jname")));
>> -
>> -
>> - //add(new SimpleFormComponentLabel("login-label", fc));
>> -
>> - // add a button that can be used to submit the form via ajax
>> - add(new AjaxButton("ajax-button", this) {
>> + add(new TextField<String>("lastname"));
>> +
>> + add(new DropDownChoice<OmTimeZone>("omTimeZone",
>> Application.getBean(
>> + OmTimeZoneDaoImpl.class).getOmTimeZones(),
>> + new
>> ChoiceRenderer<OmTimeZone>("frontEndLabel", "jname")));
>> +
>> + add(new DropDownChoice<FieldLanguage>("language",
>> Application.getBean(
>> +
>> FieldLanguageDaoImpl.class).getLanguages(),
>> + new ChoiceRenderer<FieldLanguage>("name",
>> "language_id")));
>> +
>> + add(new CheckBox("forceTimeZoneCheck"));
>> + add(new TextField<String>("adresses.email"));
>> + add(new TextField<String>("adresses.phone"));
>> + add(new CheckBox("sendSMS"));
>> + DateTextField age = new DateTextField("age");
>> + DatePicker datePicker = new DatePicker() {
>> + private static final long serialVersionUID = 1L;
>> +
>> + @Override
>> + protected String getAdditionalJavaScript() {
>> + return
>> "${calendar}.cfg.setProperty(\"navigator\",true,false);
>> ${calendar}.render();";
>> + }
>> + };
>> + datePicker.setShowOnFieldClick(true);
>> + datePicker.setAutoHide(true);
>> + age.add(datePicker);
>> + add(age);
>> +
>> + // add a button that can be used to submit the form via
>> ajax
>> + add(new AjaxButton("ajax-button", this) {
>> private static final long serialVersionUID =
>> 839803820502260006L;
>>
>> @Override
>> - protected void onSubmit(AjaxRequestTarget target, Form<?>
>> form)
>> - {
>> - // repaint the feedback panel so that it is hidden
>> - // target.add(feedback);
>> - }
>> -
>> - @Override
>> - protected void onError(AjaxRequestTarget target, Form<?>
>> form)
>> - {
>> - // repaint the feedback panel so errors are shown
>> - // target.add(feedback);
>> - }
>> - });
>> + protected void onSubmit(AjaxRequestTarget target,
>> Form<?> form) {
>> + // repaint the feedback panel so that it
>> is hidden
>> + // target.add(feedback);
>> + }
>> +
>> + @Override
>> + protected void onError(AjaxRequestTarget target,
>> Form<?> form) {
>> + // repaint the feedback panel so errors
>> are shown
>> + // target.add(feedback);
>> + }
>> + });
>> }
>>
>> /**
>>
>> Modified:
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
>> URL:
>> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html?rev=1382444&r1=1382443&r2=1382444&view=diff
>>
>> ==============================================================================
>> ---
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
>> (original)
>> +++
>> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
>> Sun Sep 9 10:44:54 2012
>> @@ -50,8 +50,25 @@
>> <br/>
>> <wicket:ommessage key="135" />:
>> <select wicket:id="salutations"/> <input type="text" wicket:id="firstname"/>
>> <br/>
>> + <wicket:ommessage key="136" />: <input
>> type="text" wicket:id="lastname"/>
>> + <br/>
>> <wicket:ommessage key="1143" />:
>> <select wicket:id="omTimeZone"/>
>> <br/>
>> + <wicket:ommessage key="111" />:
>> <select wicket:id="language"/>
>> + <br/>
>> + <wicket:ommessage key="1149" />
>> + <br/>
>> + <wicket:ommessage key="1148" />:
>> <input type="checkbox" wicket:id="forceTimeZoneCheck" />
>> + <br/>
>> + <wicket:ommessage key="137" />: <input
>> type="text" wicket:id="adresses.email"/>
>> + <br/>
>> + <wicket:ommessage key="607" />: <input
>> type="text" wicket:id="adresses.phone"/>
>> + <br/>
>> + <wicket:ommessage key="1503" />:
>> <input type="checkbox" wicket:id="sendSMS"/>
>> + <br/>
>> + <wicket:ommessage key="138" />: <input
>> type="text" wicket:id="age"/>
>> + <br/>
>> + <br/>
>> <input type="submit" value="submit via
>> ajax" wicket:id="ajax-button"/>
>> </form>
>> </td>
>>
>>
>
>
>
> --
> WBR
> Maxim aka solomax
--
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com
Re: svn commit: r1382444 - in /incubator/openmeetings/trunk/singlewebapp:
./ src/org/openmeetings/app/persistence/beans/user/ src/org/openmeetings/web/components/admin/user/
Posted by Maxim Solodovnik <so...@gmail.com>.
I'll remove @Element annotation from here
+ @Element(data=true, required=false)
+ private FieldLanguage language;
to avoid export/import errors
On Sun, Sep 9, 2012 at 5:44 PM, <se...@apache.org> wrote:
> Author: sebawagner
> Date: Sun Sep 9 10:44:54 2012
> New Revision: 1382444
>
> URL: http://svn.apache.org/viewvc?rev=1382444&view=rev
> Log:
> OPENMEETINGS-428 Refactor User administration to Wicket - couple of
> fields, add wcket-detatime package for datepicker
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/ivy.xml
>
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
>
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
>
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
>
> Modified: incubator/openmeetings/trunk/singlewebapp/ivy.xml
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/ivy.xml?rev=1382444&r1=1382443&r2=1382444&view=diff
>
> ==============================================================================
> --- incubator/openmeetings/trunk/singlewebapp/ivy.xml (original)
> +++ incubator/openmeetings/trunk/singlewebapp/ivy.xml Sun Sep 9 10:44:54
> 2012
> @@ -236,6 +236,9 @@
> <dependency org="org.apache.wicket"
> name="wicket-extensions" rev="6.0.0-beta3" conf="openmeetings->*"
> transitive="false">
> <include type="jar" />
> </dependency>
> + <dependency org="org.apache.wicket" name="wicket-datetime"
> rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
> + <include type="jar" />
> + </dependency>
>
> <!-- iCal4j seems to need this JAR -->
> <dependency org="edu.emory.mathcs"
> name="backport-util-concurrent" rev="3.1" conf="openmeetings->*"/>
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java?rev=1382444&r1=1382443&r2=1382444&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
> Sun Sep 9 10:44:54 2012
> @@ -45,6 +45,7 @@ import org.openmeetings.app.persistence.
> import org.openmeetings.app.persistence.beans.basic.Server;
> import org.openmeetings.app.persistence.beans.basic.Sessiondata;
> import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
> +import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
> import org.simpleframework.xml.Element;
> import org.simpleframework.xml.ElementList;
> import org.simpleframework.xml.Root;
> @@ -136,6 +137,10 @@ public class Users implements Serializab
> @Column(name = "language_id")
> @Element(data=true, required=false)
> private Long language_id;
> + @ManyToOne(fetch = FetchType.EAGER)
> + @JoinColumn(name = "language_id", insertable = false, updatable =
> false)
> + @Element(data=true, required=false)
> + private FieldLanguage language;
>
> @Column(name = "resethash")
> @Element(data=true, required=false)
> @@ -417,6 +422,16 @@ public class Users implements Serializab
> public void setLanguage_id(Long language_id) {
> this.language_id = language_id;
> }
> +
> +
> +
> + public FieldLanguage getLanguage() {
> + return language;
> + }
> +
> + public void setLanguage(FieldLanguage language) {
> + this.language = language;
> + }
>
> public List<Organisation_Users> getOrganisation_users() {
> return organisation_users;
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java?rev=1382444&r1=1382443&r2=1382444&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UserForm.java
> Sun Sep 9 10:44:54 2012
> @@ -2,60 +2,82 @@ package org.openmeetings.web.components.
>
> import org.apache.wicket.ajax.AjaxRequestTarget;
> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
> +import org.apache.wicket.extensions.markup.html.form.DateTextField;
> +import org.apache.wicket.extensions.yui.calendar.DatePicker;
> +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.TextField;
> import org.apache.wicket.model.CompoundPropertyModel;
> +import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
> import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
> import org.openmeetings.app.data.user.Salutationmanagement;
> import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
> +import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
> import org.openmeetings.app.persistence.beans.user.Salutations;
> import org.openmeetings.app.persistence.beans.user.Users;
> import org.openmeetings.web.app.Application;
> import org.openmeetings.web.app.WebSession;
>
> public class UserForm extends Form<Users> {
> -
>
> public UserForm(String id, Users user) {
> super(id, new CompoundPropertyModel<Users>(user));
> setOutputMarkupId(true);
> -
> +
> add(new TextField<String>("login"));
> -
> -
> - add(new DropDownChoice<Salutations>("salutations",
> -
> Application.getBean(Salutationmanagement.class).getUserSalutations(WebSession.getLanguage()),
> - new ChoiceRenderer<Salutations>("label.value",
> "salutations_id")));
> -
> +
> + add(new DropDownChoice<Salutations>("salutations",
> Application.getBean(
> +
> Salutationmanagement.class).getUserSalutations(
> + WebSession.getLanguage()), new
> ChoiceRenderer<Salutations>(
> + "label.value", "salutations_id")));
> +
> add(new TextField<String>("firstname"));
> -
> - add(new DropDownChoice<OmTimeZone>("omTimeZone",
> -
> Application.getBean(OmTimeZoneDaoImpl.class).getOmTimeZones(),
> - new ChoiceRenderer<OmTimeZone>("frontEndLabel",
> "jname")));
> -
> -
> - //add(new SimpleFormComponentLabel("login-label", fc));
> -
> - // add a button that can be used to submit the form via ajax
> - add(new AjaxButton("ajax-button", this) {
> + add(new TextField<String>("lastname"));
> +
> + add(new DropDownChoice<OmTimeZone>("omTimeZone",
> Application.getBean(
> + OmTimeZoneDaoImpl.class).getOmTimeZones(),
> + new
> ChoiceRenderer<OmTimeZone>("frontEndLabel", "jname")));
> +
> + add(new DropDownChoice<FieldLanguage>("language",
> Application.getBean(
> + FieldLanguageDaoImpl.class).getLanguages(),
> + new ChoiceRenderer<FieldLanguage>("name",
> "language_id")));
> +
> + add(new CheckBox("forceTimeZoneCheck"));
> + add(new TextField<String>("adresses.email"));
> + add(new TextField<String>("adresses.phone"));
> + add(new CheckBox("sendSMS"));
> + DateTextField age = new DateTextField("age");
> + DatePicker datePicker = new DatePicker() {
> + private static final long serialVersionUID = 1L;
> +
> + @Override
> + protected String getAdditionalJavaScript() {
> + return
> "${calendar}.cfg.setProperty(\"navigator\",true,false);
> ${calendar}.render();";
> + }
> + };
> + datePicker.setShowOnFieldClick(true);
> + datePicker.setAutoHide(true);
> + age.add(datePicker);
> + add(age);
> +
> + // add a button that can be used to submit the form via
> ajax
> + add(new AjaxButton("ajax-button", this) {
> private static final long serialVersionUID =
> 839803820502260006L;
>
> @Override
> - protected void onSubmit(AjaxRequestTarget target, Form<?>
> form)
> - {
> - // repaint the feedback panel so that it is hidden
> - // target.add(feedback);
> - }
> -
> - @Override
> - protected void onError(AjaxRequestTarget target, Form<?> form)
> - {
> - // repaint the feedback panel so errors are shown
> - // target.add(feedback);
> - }
> - });
> + protected void onSubmit(AjaxRequestTarget target,
> Form<?> form) {
> + // repaint the feedback panel so that it
> is hidden
> + // target.add(feedback);
> + }
> +
> + @Override
> + protected void onError(AjaxRequestTarget target,
> Form<?> form) {
> + // repaint the feedback panel so errors
> are shown
> + // target.add(feedback);
> + }
> + });
> }
>
> /**
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html?rev=1382444&r1=1382443&r2=1382444&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/web/components/admin/user/UsersPanel.html
> Sun Sep 9 10:44:54 2012
> @@ -50,8 +50,25 @@
> <br/>
> <wicket:ommessage key="135" />:
> <select wicket:id="salutations"/> <input type="text" wicket:id="firstname"/>
> <br/>
> + <wicket:ommessage key="136" />: <input
> type="text" wicket:id="lastname"/>
> + <br/>
> <wicket:ommessage key="1143" />:
> <select wicket:id="omTimeZone"/>
> <br/>
> + <wicket:ommessage key="111" />:
> <select wicket:id="language"/>
> + <br/>
> + <wicket:ommessage key="1149" />
> + <br/>
> + <wicket:ommessage key="1148" />:
> <input type="checkbox" wicket:id="forceTimeZoneCheck" />
> + <br/>
> + <wicket:ommessage key="137" />: <input
> type="text" wicket:id="adresses.email"/>
> + <br/>
> + <wicket:ommessage key="607" />: <input
> type="text" wicket:id="adresses.phone"/>
> + <br/>
> + <wicket:ommessage key="1503" />:
> <input type="checkbox" wicket:id="sendSMS"/>
> + <br/>
> + <wicket:ommessage key="138" />: <input
> type="text" wicket:id="age"/>
> + <br/>
> + <br/>
> <input type="submit" value="submit via
> ajax" wicket:id="ajax-button"/>
> </form>
> </td>
>
>
>
--
WBR
Maxim aka solomax