Author: solomax
Date: Tue Jul 8 06:56:13 2014
New Revision: 1608673
URL: http://svn.apache.org/r1608673
Log:
[OPENMEETINGS-1036] LDAP domain is added to admin user form
Modified:
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupExport.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.html
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/LdapConfig.java
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.html
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
Modified:
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java
(original)
+++
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java
Tue Jul 8 06:56:13 2014
@@ -175,7 +175,7 @@ public class LdapConfigDao implements ID
return null;
}
- public List<LdapConfig> getActiveLdapConfigs() {
+ public List<LdapConfig> getActive() {
log.debug("getActiveLdapConfigs");
// get all users
@@ -185,7 +185,7 @@ public class LdapConfigDao implements ID
return query.getResultList();
}
- public List<LdapConfig> getLdapConfigs() {
+ public List<LdapConfig> get() {
//Add localhost Domain
LdapConfig ldapConfig = new LdapConfig();
@@ -194,7 +194,7 @@ public class LdapConfigDao implements ID
List<LdapConfig> result = new ArrayList<LdapConfig>();
result.add(ldapConfig);
- result.addAll(getActiveLdapConfigs());
+ result.addAll(getActive());
return result;
}
Modified:
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java
(original)
+++
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java
Tue Jul 8 06:56:13 2014
@@ -37,7 +37,7 @@ public class OAuth2Dao implements IDataP
@PersistenceContext
private EntityManager em;
- public List<OAuthServer> getEnabledOAuthServers() {
+ public List<OAuthServer> getActive() {
TypedQuery<OAuthServer> query =
em.createNamedQuery("getEnabledOAuthServers", OAuthServer.class);
return query.getResultList();
}
Modified:
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupExport.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupExport.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupExport.java
(original)
+++
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupExport.java
Tue Jul 8 06:56:13 2014
@@ -223,7 +223,7 @@ public class BackupExport {
* ##################### LDAP Configs
*/
writeList(simpleSerializer, backup_dir, "ldapconfigs.xml",
- "ldapconfigs", ldapConfigDao.getLdapConfigs());
+ "ldapconfigs", ldapConfigDao.get());
/*
* ##################### Cluster servers
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.html
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.html?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.html
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.html
Tue Jul 8 06:56:13 2014
@@ -33,6 +33,9 @@
<div class="formelement">
<label><wicket:ommessage key="45"
/></label><select wicket:id="type"></select>
</div>
+ <div class="formelement" wicket:id="domain">
+ <label><wicket:ommessage key="1118"
/></label><select wicket:id="domainId"></select>
+ </div>
<div class="formelement">
<label><wicket:ommessage key="1308"
/></label><span wicket:id="ownerId"></span>
</div>
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UserForm.java
Tue Jul 8 06:56:13 2014
@@ -28,9 +28,16 @@ import static org.apache.wicket.validati
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.db.dao.server.LdapConfigDao;
+import org.apache.openmeetings.db.dao.server.OAuth2Dao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.server.LdapConfig;
+import org.apache.openmeetings.db.entity.server.OAuthServer;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.db.entity.user.User.Type;
@@ -40,11 +47,13 @@ import org.apache.openmeetings.web.commo
import org.apache.openmeetings.web.common.GeneralUserForm;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
+import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
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.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.panel.IMarkupSourcingStrategy;
import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
@@ -65,10 +74,12 @@ import com.vaynberg.wicket.select2.TextC
*/
public class UserForm extends AdminBaseForm<User> {
private static final long serialVersionUID = 1L;
- private WebMarkupContainer listContainer;
+ private final WebMarkupContainer listContainer;
+ private final WebMarkupContainer domain = new
WebMarkupContainer("domain");
private GeneralUserForm generalForm;
- private RequiredTextField<String> login;
- private MessageDialog warning;
+ private final RequiredTextField<String> login = new
RequiredTextField<String>("login");
+ private final MessageDialog warning;
+ private final DropDownChoice<Long> domainId = new
DropDownChoice<Long>("domainId");
public UserForm(String id, WebMarkupContainer listContainer, final User
user, MessageDialog warning) {
super(id, new CompoundPropertyModel<User>(user));
@@ -105,8 +116,7 @@ public class UserForm extends AdminBaseF
protected void onNewSubmit(AjaxRequestTarget target, Form<?> form) {
UserDao usersDaoImpl = getBean(UserDao.class);
setModelObject(usersDaoImpl.getNewUserInstance(usersDaoImpl.get(getUserId())));
- target.add(this);
- target.appendJavaScript("omUserPanelInit();");
+ update(target);
}
@Override
@@ -118,18 +128,15 @@ public class UserForm extends AdminBaseF
user = new User();
}
setModelObject(user);
- target.add(this);
- target.appendJavaScript("omUserPanelInit();");
+ update(target);
}
@Override
protected void onDeleteSubmit(AjaxRequestTarget target, Form<?> form) {
UserDao usersDaoImpl = getBean(UserDao.class);
usersDaoImpl.delete(this.getModelObject(), getUserId());
-
this.setModelObject(usersDaoImpl.getNewUserInstance(usersDaoImpl.get(getUserId())));
- target.add(listContainer);
- target.add(this);
- target.appendJavaScript("omUserPanelInit();");
+
setModelObject(usersDaoImpl.getNewUserInstance(usersDaoImpl.get(getUserId())));
+ update(target);
}
/**
@@ -137,13 +144,21 @@ public class UserForm extends AdminBaseF
*/
private void addFormFields() {
ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
- login = new RequiredTextField<String>("login");
login.setLabel(Model.of(WebSession.getString(132)));
add(login.add(minimumLength(getMinLoginLength(cfgDao))));
add(generalForm = new GeneralUserForm("general", getModel(),
true));
- add(new DropDownChoice<Type>("type",
Arrays.asList(Type.values())));
+ add(new DropDownChoice<Type>("type",
Arrays.asList(Type.values())).add(new OnChangeAjaxBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget target) {
+ updateDomain(target);
+ }
+ }));
+ update(null);
+
add(domain.add(domainId).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
add(new Label("ownerId"));
add(forDatePattern("starttime", WEB_DATE_PATTERN));
add(forDatePattern("updatetime", WEB_DATE_PATTERN));
@@ -184,6 +199,48 @@ public class UserForm extends AdminBaseF
add(new ComunityUserForm("comunity", getModel()));
}
+ public void updateDomain(AjaxRequestTarget target) {
+ User u = getModelObject();
+ final Map<Long, String> values = new Hashtable<Long, String>();
+ List<Long> ids = new ArrayList<Long>();
+ if (u.getType() == Type.ldap) {
+ for (LdapConfig c :
getBean(LdapConfigDao.class).getActive()) {
+ ids.add(c.getLdapConfigId());
+ values.put(c.getLdapConfigId(), c.getName());
+ }
+ }
+ if (u.getType() == Type.oauth) {
+ for (OAuthServer s :
getBean(OAuth2Dao.class).getActive()) {
+ ids.add(s.getId());
+ values.put(s.getId(), s.getName());
+ }
+ }
+ domainId.setChoices(ids);
+ domainId.setChoiceRenderer(new IChoiceRenderer<Long>() {
+ private static final long serialVersionUID = 1L;
+
+ public Object getDisplayValue(Long object) {
+ return values.get(object);
+ }
+
+ public String getIdValue(Long object, int index) {
+ return "" + object;
+ }
+ });
+ domain.setVisible(u.getType() == Type.ldap || u.getType() ==
Type.oauth);
+ if (target != null) {
+ target.add(domain);
+ }
+ }
+
+ public void update(AjaxRequestTarget target) {
+ updateDomain(target);
+ if (target != null) {
+ target.add(this, listContainer);
+ target.appendJavaScript("omUserPanelInit();");
+ }
+ }
+
@Override
protected void onValidate() {
if(!getBean(UserDao.class).checkUserLogin(login.getConvertedInput(),
getModelObject().getUser_id())) {
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UsersPanel.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
Tue Jul 8 06:56:13 2014
@@ -81,9 +81,7 @@ public class UsersPanel extends AdminPan
protected void
onEvent(AjaxRequestTarget target) {
form.setModelObject(getBean(UserDao.class).get(userId));
form.hideNewRecord();
- target.add(form, listContainer);
- //re-initialize height
-
target.appendJavaScript("omUserPanelInit();");
+ form.update(target);
}
});
item.add(AttributeModifier.append("class",
"clickable ui-widget-content"
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
Tue Jul 8 06:56:13 2014
@@ -223,7 +223,7 @@ public class SignInDialog extends Abstra
loginField.setLabel(Model.of(WebSession.getString(114)));
add(passField = new PasswordTextField("pass", new
PropertyModel<String>(SignInDialog.this, "password")).setResetPassword(true));
passField.setLabel(Model.of(WebSession.getString(115)));
- List<LdapConfig> ldaps =
getBean(LdapConfigDao.class).getLdapConfigs();
+ List<LdapConfig> ldaps =
getBean(LdapConfigDao.class).get();
int selectedLdap =
getBean(ConfigurationDao.class).getConfValue(CONFIG_DEFAULT_LDAP_ID,
Integer.class, "0");
domain = ldaps.get(selectedLdap < ldaps.size() &&
selectedLdap > 0 ? selectedLdap : 0);
add(new WebMarkupContainer("ldap")
@@ -263,7 +263,7 @@ public class SignInDialog extends Abstra
}
});
add(new WebMarkupContainer("oauthContainer").add(
- new ListView<OAuthServer>("oauthList",
getBean(OAuth2Dao.class).getEnabledOAuthServers()) {
+ new ListView<OAuthServer>("oauthList",
getBean(OAuth2Dao.class).getActive()) {
private static final long
serialVersionUID = 1L;
@Override
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
Tue Jul 8 06:56:13 2014
@@ -83,7 +83,7 @@ public class SignInPage extends BaseInit
}
static boolean allowOAuthLogin() {
- return getBean(OAuth2Dao.class).getEnabledOAuthServers().size()
> 0;
+ return getBean(OAuth2Dao.class).getActive().size() > 0;
}
public SignInPage(PageParameters p) {
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/LdapConfigDao.java
Tue Jul 8 06:56:13 2014
@@ -67,7 +67,7 @@ public class LdapConfigDao implements ID
ldapConfig.setConfigFileName(configFileName);
ldapConfig.setDeleted(false);
ldapConfig.setDomain(domain);
- ldapConfig.setIsActive(isActive);
+ ldapConfig.setActive(isActive);
ldapConfig.setName(name);
ldapConfig.setInserted(new Date());
if (insertedby != null) {
@@ -128,7 +128,7 @@ public class LdapConfigDao implements ID
ldapConfig.setConfigFileName(configFileName);
ldapConfig.setDeleted(false);
ldapConfig.setDomain(domain);
- ldapConfig.setIsActive(isActive);
+ ldapConfig.setActive(isActive);
ldapConfig.setName(name);
ldapConfig.setUpdated(new Date());
if (updatedby != null) {
@@ -152,10 +152,7 @@ public class LdapConfigDao implements ID
public LdapConfig get(long ldapConfigId) {
try {
- String hql = "select c from LdapConfig c WHERE c.id =
:id AND c.deleted = false";
-
- TypedQuery<LdapConfig> query = em
- .createQuery(hql, LdapConfig.class);
+ TypedQuery<LdapConfig> query =
em.createNamedQuery("getLdapConfigById", LdapConfig.class);
query.setParameter("id", ldapConfigId);
LdapConfig ldapConfig = null;
@@ -172,7 +169,7 @@ public class LdapConfigDao implements ID
return null;
}
- public List<LdapConfig> getActiveLdapConfigs() {
+ public List<LdapConfig> getActive() {
log.debug("getActiveLdapConfigs");
// get all users
@@ -182,7 +179,7 @@ public class LdapConfigDao implements ID
return query.getResultList();
}
- public List<LdapConfig> getLdapConfigs() {
+ public List<LdapConfig> get() {
//Add localhost Domain
LdapConfig ldapConfig = new LdapConfig();
@@ -191,7 +188,7 @@ public class LdapConfigDao implements ID
List<LdapConfig> result = new ArrayList<LdapConfig>();
result.add(ldapConfig);
- result.addAll(getActiveLdapConfigs());
+ result.addAll(getActive());
return result;
}
@@ -211,7 +208,7 @@ public class LdapConfigDao implements ID
public long count() {
try {
- TypedQuery<Long> query = em.createQuery("select
count(c.id) from LdapConfig c where c.deleted = false", Long.class);
+ TypedQuery<Long> query =
em.createNamedQuery("countNondeletedLdapConfigs", Long.class);
List<Long> ll = query.getResultList();
log.debug("selectMaxFromLdapConfig" + ll.get(0));
return ll.get(0);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/OAuth2Dao.java
Tue Jul 8 06:56:13 2014
@@ -37,7 +37,7 @@ public class OAuth2Dao implements IDataP
@PersistenceContext
private EntityManager em;
- public List<OAuthServer> getEnabledOAuthServers() {
+ public List<OAuthServer> getActive() {
TypedQuery<OAuthServer> query =
em.createNamedQuery("getEnabledOAuthServers", OAuthServer.class);
return query.getResultList();
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/LdapConfig.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/LdapConfig.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/LdapConfig.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/LdapConfig.java
Tue Jul 8 06:56:13 2014
@@ -42,7 +42,9 @@ import org.simpleframework.xml.Root;
@Entity
@NamedQueries({
@NamedQuery(name="getNondeletedLdapConfigs", query="SELECT u FROM
LdapConfig u WHERE u.deleted = false")
- , @NamedQuery(name="getActiveLdapConfigs", query="SELECT c FROM
LdapConfig c WHERE c.deleted = false AND c.isActive = :isActive ORDER BY c.id")
+ , @NamedQuery(name="getLdapConfigById", query="SELECT c FROM LdapConfig
c WHERE c.id = :id AND c.deleted = false")
+ , @NamedQuery(name="countNondeletedLdapConfigs", query="SELECT
COUNT(c.id) FROM LdapConfig c WHERE c.deleted = false")
+ , @NamedQuery(name="getActiveLdapConfigs", query="SELECT c FROM
LdapConfig c WHERE c.deleted = false AND c.active = :isActive ORDER BY c.id")
})
@Table(name = "ldapconfig")
@Root(name="ldapconfig")
@@ -50,48 +52,49 @@ public class LdapConfig implements IData
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
- @Column(name="id")
+ @Column(name = "id")
+ @Element(data = true)
private Long id;
-
- @Column(name="name")
- @Element(data=true)
+
+ @Column(name = "name")
+ @Element(data = true)
private String name;
-
- @Column(name="config_file_name")
- @Element(data=true, required = false)
+
+ @Column(name = "config_file_name")
+ @Element(data = true, required = false)
private String configFileName;
-
- @Column(name="add_domain_to_user_name")
- @Element(data=true)
+
+ @Column(name = "add_domain_to_user_name")
+ @Element(data = true)
private boolean addDomainToUserName;
-
- @Column(name="domain")
- @Element(data=true, required = false)
+
+ @Column(name = "domain")
+ @Element(data = true, required = false)
private String domain;
-
- @Column(name="is_active")
- @Element(data=true)
- private boolean isActive;
-
- @Column(name="inserted")
+
+ @Column(name = "is_active")
+ @Element(data = true, name = "isActive")
+ private boolean active;
+
+ @Column(name = "inserted")
private Date inserted;
-
- @Column(name="updated")
+
+ @Column(name = "updated")
private Date updated;
-
+
@ManyToOne(fetch = FetchType.EAGER)
- @JoinColumn(name="insertedby_id", updatable=true, insertable=true)
+ @JoinColumn(name = "insertedby_id", updatable = true, insertable = true)
@ForeignKey(enabled = true)
private User insertedby;
-
+
@ManyToOne(fetch = FetchType.EAGER)
- @JoinColumn(name="updatedby_id", updatable=true, insertable=true)
+ @JoinColumn(name = "updatedby_id", updatable = true, insertable = true)
@ForeignKey(enabled = true)
private User updatedby;
-
- @Column(name="deleted")
+
+ @Column(name = "deleted")
private boolean deleted;
-
+
@Lob
@Column(name = "comment_field", length = 2048)
@Element(data = true, required = false)
@@ -100,76 +103,87 @@ public class LdapConfig implements IData
public Long getId() {
return id;
}
+
public void setId(Long id) {
this.id = id;
}
-
+
public String getName() {
return name;
}
+
public void setName(String name) {
this.name = name;
}
-
+
public String getConfigFileName() {
return configFileName;
}
+
public void setConfigFileName(String configFileName) {
this.configFileName = configFileName;
}
-
+
public boolean getAddDomainToUserName() {
return addDomainToUserName;
}
+
public void setAddDomainToUserName(boolean addDomainToUserName) {
this.addDomainToUserName = addDomainToUserName;
}
-
+
public String getDomain() {
return domain;
}
+
public void setDomain(String domain) {
this.domain = domain;
}
-
- public boolean getIsActive() {
- return isActive;
+
+ public boolean isActive() {
+ return active;
}
- public void setIsActive(boolean isActive) {
- this.isActive = isActive;
+
+ public void setActive(boolean active) {
+ this.active = active;
}
-
+
public Date getInserted() {
return inserted;
}
+
public void setInserted(Date inserted) {
this.inserted = inserted;
}
-
+
public Date getUpdated() {
return updated;
}
+
public void setUpdated(Date updated) {
this.updated = updated;
}
-
+
public User getInsertedby() {
return insertedby;
}
+
public void setInsertedby(User insertedby) {
this.insertedby = insertedby;
}
-
+
public User getUpdatedby() {
return updatedby;
}
+
public void setUpdatedby(User updatedby) {
this.updatedby = updatedby;
}
-
+
public boolean getDeleted() {
return deleted;
}
+
public void setDeleted(boolean deleted) {
this.deleted = deleted;
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
Tue Jul 8 06:56:13 2014
@@ -223,7 +223,7 @@ public class BackupExport {
* ##################### LDAP Configs
*/
writeList(simpleSerializer, backup_dir, "ldapconfigs.xml",
- "ldapconfigs", ldapConfigDao.getLdapConfigs());
+ "ldapconfigs", ldapConfigDao.get());
/*
* ##################### Cluster servers
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
Tue Jul 8 06:56:13 2014
@@ -24,7 +24,7 @@ import static org.apache.wicket.datetime
import org.apache.openmeetings.db.dao.server.LdapConfigDao;
import org.apache.openmeetings.db.entity.server.LdapConfig;
import org.apache.openmeetings.web.admin.AdminBaseForm;
-import org.apache.openmeetings.web.app.Application;
+import static org.apache.openmeetings.web.app.Application.getBean;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
@@ -49,14 +49,13 @@ public class LdapForm extends AdminBaseF
private static final long serialVersionUID = 1L;
private final WebMarkupContainer listContainer;
- public LdapForm(String id, WebMarkupContainer listContainer,
- final LdapConfig ldapConfig) {
+ public LdapForm(String id, WebMarkupContainer listContainer, final
LdapConfig ldapConfig) {
super(id, new CompoundPropertyModel<LdapConfig>(ldapConfig));
setOutputMarkupId(true);
this.listContainer = listContainer;
add(new
RequiredTextField<String>("name").setLabel(Model.of(WebSession.getString(1108))));
- add(new CheckBox("isActive"));
+ add(new CheckBox("active"));
add(forDatePattern("inserted", WEB_DATE_PATTERN));
add(new Label("insertedby.login"));
add(forDatePattern("updated", WEB_DATE_PATTERN));
@@ -73,10 +72,8 @@ public class LdapForm extends AdminBaseF
@Override
protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) {
-
Application.getBean(LdapConfigDao.class).update(getModelObject(),
- WebSession.getUserId());
- LdapConfig ldapConfig = Application.getBean(LdapConfigDao.class)
- .get(getModelObject().getId());
+ getBean(LdapConfigDao.class).update(getModelObject(),
WebSession.getUserId());
+ LdapConfig ldapConfig =
getBean(LdapConfigDao.class).get(getModelObject().getId());
this.setModelObject(ldapConfig);
hideNewRecord();
target.add(this);
@@ -95,8 +92,7 @@ public class LdapForm extends AdminBaseF
protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) {
LdapConfig ldapConfig = this.getModelObject();
if (ldapConfig.getId() <= 0) {
- ldapConfig =
Application.getBean(LdapConfigDao.class).get(
- ldapConfig.getId());
+ ldapConfig =
getBean(LdapConfigDao.class).get(ldapConfig.getId());
} else {
ldapConfig = new LdapConfig();
}
@@ -107,8 +103,7 @@ public class LdapForm extends AdminBaseF
@Override
protected void onDeleteSubmit(AjaxRequestTarget target, Form<?> form) {
- Application.getBean(LdapConfigDao.class).delete(
- this.getModelObject(), WebSession.getUserId());
+ getBean(LdapConfigDao.class).delete(getModelObject(),
WebSession.getUserId());
this.setModelObject(new LdapConfig());
target.add(listContainer);
target.add(this);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.html?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.html
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.html
Tue Jul 8 06:56:13 2014
@@ -63,7 +63,7 @@
<label><wicket:ommessage key="1108"
/></label><input type="text" wicket:id="name"/>
</div>
<div class="formelement">
- <label><wicket:ommessage key="1109"
/></label><input type="checkbox" class="formcheckbox" wicket:id="isActive"/>
+ <label><wicket:ommessage key="1109"
/></label><input type="checkbox" class="formcheckbox" wicket:id="active"/>
</div>
<div class="formelement">
<label><wicket:ommessage key="1110"
/></label><span wicket:id="inserted"/>
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
Tue Jul 8 06:56:13 2014
@@ -33,6 +33,9 @@
<div class="formelement">
<label><wicket:ommessage key="45"
/></label><select wicket:id="type"></select>
</div>
+ <div class="formelement" wicket:id="domain">
+ <label><wicket:ommessage key="1118"
/></label><select wicket:id="domainId"></select>
+ </div>
<div class="formelement">
<label><wicket:ommessage key="1308"
/></label><span wicket:id="ownerId"></span>
</div>
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
Tue Jul 8 06:56:13 2014
@@ -28,9 +28,16 @@ import static org.apache.wicket.validati
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.db.dao.server.LdapConfigDao;
+import org.apache.openmeetings.db.dao.server.OAuth2Dao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.server.LdapConfig;
+import org.apache.openmeetings.db.entity.server.OAuthServer;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.db.entity.user.User.Type;
@@ -40,11 +47,13 @@ import org.apache.openmeetings.web.commo
import org.apache.openmeetings.web.common.GeneralUserForm;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
+import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
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.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.panel.IMarkupSourcingStrategy;
import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
@@ -65,10 +74,12 @@ import com.vaynberg.wicket.select2.TextC
*/
public class UserForm extends AdminBaseForm<User> {
private static final long serialVersionUID = 1L;
- private WebMarkupContainer listContainer;
+ private final WebMarkupContainer listContainer;
+ private final WebMarkupContainer domain = new
WebMarkupContainer("domain");
private GeneralUserForm generalForm;
- private RequiredTextField<String> login;
- private MessageDialog warning;
+ private final RequiredTextField<String> login = new
RequiredTextField<String>("login");
+ private final MessageDialog warning;
+ private final DropDownChoice<Long> domainId = new
DropDownChoice<Long>("domainId");
public UserForm(String id, WebMarkupContainer listContainer, final User
user, MessageDialog warning) {
super(id, new CompoundPropertyModel<User>(user));
@@ -105,8 +116,7 @@ public class UserForm extends AdminBaseF
protected void onNewSubmit(AjaxRequestTarget target, Form<?> form) {
UserDao usersDaoImpl = getBean(UserDao.class);
setModelObject(usersDaoImpl.getNewUserInstance(usersDaoImpl.get(getUserId())));
- target.add(this);
- target.appendJavaScript("omUserPanelInit();");
+ update(target);
}
@Override
@@ -118,8 +128,7 @@ public class UserForm extends AdminBaseF
user = new User();
}
setModelObject(user);
- target.add(this);
- target.appendJavaScript("omUserPanelInit();");
+ update(target);
}
@Override
@@ -127,9 +136,7 @@ public class UserForm extends AdminBaseF
UserDao usersDaoImpl = getBean(UserDao.class);
usersDaoImpl.delete(this.getModelObject(), getUserId());
this.setModelObject(usersDaoImpl.getNewUserInstance(usersDaoImpl.get(getUserId())));
- target.add(listContainer);
- target.add(this);
- target.appendJavaScript("omUserPanelInit();");
+ update(target);
}
/**
@@ -137,13 +144,21 @@ public class UserForm extends AdminBaseF
*/
private void addFormFields() {
ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
- login = new RequiredTextField<String>("login");
login.setLabel(Model.of(WebSession.getString(132)));
add(login.add(minimumLength(getMinLoginLength(cfgDao))));
add(generalForm = new GeneralUserForm("general", getModel(),
true));
- add(new DropDownChoice<Type>("type",
Arrays.asList(Type.values())));
+ add(new DropDownChoice<Type>("type",
Arrays.asList(Type.values())).add(new OnChangeAjaxBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget target) {
+ updateDomain(target);
+ }
+ }));
+ update(null);
+
add(domain.add(domainId).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
add(new Label("ownerId"));
add(forDatePattern("starttime", WEB_DATE_PATTERN));
add(forDatePattern("updatetime", WEB_DATE_PATTERN));
@@ -184,6 +199,48 @@ public class UserForm extends AdminBaseF
add(new ComunityUserForm("comunity", getModel()));
}
+ public void updateDomain(AjaxRequestTarget target) {
+ User u = getModelObject();
+ final Map<Long, String> values = new Hashtable<Long, String>();
+ List<Long> ids = new ArrayList<Long>();
+ if (u.getType() == Type.ldap) {
+ for (LdapConfig c :
getBean(LdapConfigDao.class).getActive()) {
+ ids.add(c.getId());
+ values.put(c.getId(), c.getName());
+ }
+ }
+ if (u.getType() == Type.oauth) {
+ for (OAuthServer s :
getBean(OAuth2Dao.class).getActive()) {
+ ids.add(s.getId());
+ values.put(s.getId(), s.getName());
+ }
+ }
+ domainId.setChoices(ids);
+ domainId.setChoiceRenderer(new IChoiceRenderer<Long>() {
+ private static final long serialVersionUID = 1L;
+
+ public Object getDisplayValue(Long object) {
+ return values.get(object);
+ }
+
+ public String getIdValue(Long object, int index) {
+ return "" + object;
+ }
+ });
+ domain.setVisible(u.getType() == Type.ldap || u.getType() ==
Type.oauth);
+ if (target != null) {
+ target.add(domain);
+ }
+ }
+
+ public void update(AjaxRequestTarget target) {
+ updateDomain(target);
+ if (target != null) {
+ target.add(this, listContainer);
+ target.appendJavaScript("omUserPanelInit();");
+ }
+ }
+
@Override
protected void onValidate() {
if(!getBean(UserDao.class).checkUserLogin(login.getConvertedInput(),
getModelObject().getId())) {
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
Tue Jul 8 06:56:13 2014
@@ -80,9 +80,7 @@ public class UsersPanel extends AdminPan
protected void
onEvent(AjaxRequestTarget target) {
form.setModelObject(getBean(UserDao.class).get(userId));
form.hideNewRecord();
- target.add(form, listContainer);
- //re-initialize height
-
target.appendJavaScript("omUserPanelInit();");
+ form.update(target);
}
});
item.add(AttributeModifier.append("class",
"clickable ui-widget-content"
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
Tue Jul 8 06:56:13 2014
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.we
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.web.room.SwfPanel;
-import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.request.mapper.parameter.PageParameters;
public class SwfPage extends BaseNotInitedPage {
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
Tue Jul 8 06:56:13 2014
@@ -223,7 +223,7 @@ public class SignInDialog extends Abstra
loginField.setLabel(Model.of(WebSession.getString(114)));
add(passField = new PasswordTextField("pass", new
PropertyModel<String>(SignInDialog.this, "password")).setResetPassword(true));
passField.setLabel(Model.of(WebSession.getString(115)));
- List<LdapConfig> ldaps =
getBean(LdapConfigDao.class).getLdapConfigs();
+ List<LdapConfig> ldaps =
getBean(LdapConfigDao.class).get();
int selectedLdap =
getBean(ConfigurationDao.class).getConfValue(CONFIG_DEFAULT_LDAP_ID,
Integer.class, "0");
domain = ldaps.get(selectedLdap < ldaps.size() &&
selectedLdap > 0 ? selectedLdap : 0);
add(new WebMarkupContainer("ldap")
@@ -263,7 +263,7 @@ public class SignInDialog extends Abstra
}
});
add(new WebMarkupContainer("oauthContainer").add(
- new ListView<OAuthServer>("oauthList",
getBean(OAuth2Dao.class).getEnabledOAuthServers()) {
+ new ListView<OAuthServer>("oauthList",
getBean(OAuth2Dao.class).getActive()) {
private static final long
serialVersionUID = 1L;
@Override
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java?rev=1608673&r1=1608672&r2=1608673&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
Tue Jul 8 06:56:13 2014
@@ -83,7 +83,7 @@ public class SignInPage extends BaseInit
}
static boolean allowOAuthLogin() {
- return getBean(OAuth2Dao.class).getEnabledOAuthServers().size()
> 0;
+ return getBean(OAuth2Dao.class).getActive().size() > 0;
}
public SignInPage(PageParameters p) {