View Javadoc
1   /***************************************************************************
2    * Copyright 2001-2008 The eXo Platform SARL         All rights reserved.  *
3    * Please look at license.txt in info directory for more license detail.   *
4    **************************************************************************/
5   package org.exoplatform.ecm.webui.component.admin.unlock;
6   
7   import org.exoplatform.services.cms.lock.LockService;
8   import org.exoplatform.webui.config.annotation.ComponentConfig;
9   import org.exoplatform.webui.config.annotation.EventConfig;
10  import org.exoplatform.webui.core.UIContainer;
11  import org.exoplatform.webui.core.lifecycle.UIContainerLifecycle;
12  import org.exoplatform.webui.event.Event;
13  import org.exoplatform.webui.event.EventListener;
14  import org.exoplatform.webui.organization.account.UIUserSelector;
15  
16  /**
17   * Created by The eXo Platform SARL
18   * Author : Hoang Van Hung
19   *          hunghvit@gmail.com
20   * Dec 3, 2008
21   */
22  
23  @ComponentConfig(
24      lifecycle = UIContainerLifecycle.class,
25      events = {@EventConfig(listeners = UIUserContainer.AddUserActionListener.class)}
26  )
27  
28  public class UIUserContainer extends UIContainer {
29  
30    public UIUserContainer() throws Exception {
31      UIUserSelector uiUserSelector = getChild(UIUserSelector.class);
32      if (uiUserSelector == null) {
33        uiUserSelector = addChild(UIUserSelector.class, null, null);
34      }
35      uiUserSelector.setMulti(false);
36      uiUserSelector.setShowSearchUser(true);
37      uiUserSelector.setShowSearch(true);
38    }
39  
40    static  public class AddUserActionListener extends EventListener<UIUserContainer> {
41      public void execute(Event<UIUserContainer> event) throws Exception {
42        UIUserContainer uiUserContainer = event.getSource();
43        UIUserSelector uiUserSelector = uiUserContainer.getChild(UIUserSelector.class);
44        LockService lockService = uiUserContainer.getApplicationComponent(LockService.class);
45        lockService.addGroupsOrUsersForLock(uiUserSelector.getSelectedUsers());
46        UIUnLockManager uiUnLockManager = uiUserContainer.getParent();
47        uiUnLockManager.refresh();
48      }
49    }
50  }