Package fr.openwide.maven.artifact.notifier.core.business.user.model

Examples of fr.openwide.maven.artifact.notifier.core.business.user.model.User


  public UserFormPopupPanel(String id, IModel<User> userModel) {
    this(id, userModel, FormPanelMode.EDIT);
  }

  public UserFormPopupPanel(String id) {
    this(id, new GenericEntityModel<Long, User>(new User()), FormPanelMode.ADD);
  }
View Full Code Here


    AjaxButton validate = new AjaxButton("save", userForm) {
      private static final long serialVersionUID = 1L;
     
      @Override
      protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        User user = UserFormPopupPanel.this.getModelObject();
       
        try {
          user.setUserName(user.getEmail());
          List<User> usersWithSameName = userService.listByUserName(user.getUserName());
         
          if (isAddMode()) {
            String newPasswordValue = newPasswordField.getModelObject();
            String confirmPasswordValue = confirmPasswordField.getModelObject();
           
            if (newPasswordValue != null && confirmPasswordValue != null) {
              if (confirmPasswordValue.equals(newPasswordValue)) {
                if (newPasswordValue.length() >= User.MIN_PASSWORD_LENGTH &&
                    newPasswordValue.length() <= User.MAX_PASSWORD_LENGTH) {
                  if (usersWithSameName.isEmpty()) {
                    userService.create(user);
                    userService.setPasswords(user, newPasswordValue);
                   
                    getSession().success(getString("administration.user.form.add.success"));
                    throw AdministrationUserDescriptionPage
                        .linkDescriptor(UserFormPopupPanel.this.getModel())
                        .newRestartResponseException();
                  } else {
                    LOGGER.warn("Username '" + user.getUserName() + "' already used");
                    form.error(getString("administration.user.form.userName.notUnique"));
                  }
                } else {
                  LOGGER.warn("Password does not fit criteria.");
                  form.error(getString("administration.user.form.password.malformed"));
                }
              } else {
                LOGGER.warn("Password confirmation does not match.");
                form.error(getString("administration.user.form.password.wrongConfirmation"));
              }
            }
          } else {
            if (usersWithSameName.isEmpty() || (usersWithSameName.size() == 1 &&
                user.getId().equals(usersWithSameName.get(0).getId()))) {
              if (user.getLocale() != null) {
                MavenArtifactNotifierSession.get().setLocale(user.getLocale());
              }
              userService.update(user);
              getSession().success(getString("administration.user.form.edit.success"));
              closePopup(target);
              target.add(getPage());
            } else {
              LOGGER.warn("Username '" + user.getUserName() + "' already used");
              form.error(getString("administration.user.form.userName.notUnique"));
            }
          }
        } catch (RestartResponseException e) {
          throw e;
View Full Code Here

  @Override
  protected void onShow(AjaxRequestTarget target) {
    super.onShow(target);
    if (isAddMode()) {
      getModel().setObject(new User());
    }
  }
View Full Code Here

         
          @Override
          public void onClick(AjaxRequestTarget target) {
            try {
              UserGroup userGroup = UserGroupMembersPanel.this.getModelObject();
              User user = getModelObject();
             
              userGroupService.removeUser(userGroup, user);
              Session.get().success(getString("administration.usergroup.members.delete.success"));
            } catch (Exception e) {
              LOGGER.error("Error occured while removing user from user group", e);
              Session.get().error(getString("administration.usergroup.members.delete.error"));
            }
            target.add(getPage());
            FeedbackUtils.refreshFeedback(target, getPage());
          }
        });
      }
    };
    add(memberListView);
   
    add(new WebMarkupContainer("emptyList") {
      private static final long serialVersionUID = 6700720373087584498L;

      @Override
      public void onConfigure() {
        super.onConfigure();
        setVisible(memberListView.size() <= 0);
      }
    });
   
    // Add member form
    IModel<User> emptyUserModel = new GenericEntityModel<Long, User>(null);
   
    final UserAutocompleteAjaxComponent userAutocomplete = new UserAutocompleteAjaxComponent("userAutocomplete",
        emptyUserModel);
    userAutocomplete.setAutoUpdate(true);
   
    final Form<User> addMemberForm = new Form<User>("addMemberForm", emptyUserModel);
    addMemberForm.add(userAutocomplete);
    addMemberForm.add(new AjaxSubmitLink("addMemberLink", addMemberForm) {
      private static final long serialVersionUID = 6935376642872117563L;
     
      @Override
      protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        UserGroup userGroup = UserGroupMembersPanel.this.getModelObject();
        User selectedUser = userAutocomplete.getModelObject();
       
        if (selectedUser != null) {
          try {
            userGroupService.addUser(userGroup, selectedUser);
            getSession().success(getString("administration.usergroup.members.add.success"));
View Full Code Here

      private static final long serialVersionUID = 1L;
     
      @Override
      protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        try {
          User user = ChangePasswordPopupPanel.this.getModelObject();
          String newPasswordValue = newPasswordField.getModelObject();
          String confirmPasswordValue = confirmPasswordField.getModelObject();
         
          if (newPasswordValue != null && confirmPasswordValue != null) {
            if (confirmPasswordValue.equals(newPasswordValue)) {
View Full Code Here

         
          @Override
          public void onClick(AjaxRequestTarget target) {
            try {
              Artifact artifact = ArtifactFollowersPanel.this.getModelObject();
              User user = getModelObject();
             
              if (userService.unfollowArtifact(user, artifact)) {
                Session.get().success(getString("administration.artifact.followers.delete.success"));
              } else {
                getSession().warn(getString("artifact.delete.notFollowed"));
              }
            } catch (Exception e) {
              LOGGER.error("Error occured while unfollowing artifact", e);
              Session.get().error(getString("administration.artifact.followers.delete.error"));
            }
            target.add(getPage());
            FeedbackUtils.refreshFeedback(target, getPage());
          }
        });
      }
    };
    add(followersListView);
   
    add(new WebMarkupContainer("emptyList") {
      private static final long serialVersionUID = 6700720373087584498L;

      @Override
      public void onConfigure() {
        super.onConfigure();
        setVisible(followersListView.size() <= 0);
      }
    });
   
    // Add member form
    IModel<User> emptyUserModel = new GenericEntityModel<Long, User>(null);
   
    final UserAutocompleteAjaxComponent userAutocomplete = new UserAutocompleteAjaxComponent("userAutocomplete",
        emptyUserModel);
    userAutocomplete.setAutoUpdate(true);
   
    final Form<User> addMemberForm = new Form<User>("addFollowerForm", emptyUserModel);
    addMemberForm.add(userAutocomplete);
    addMemberForm.add(new AjaxSubmitLink("addFollowerLink", addMemberForm) {
      private static final long serialVersionUID = 6935376642872117563L;
     
      @Override
      protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        Artifact artifact = ArtifactFollowersPanel.this.getModelObject();
        User selectedUser = userAutocomplete.getModelObject();
       
        if (selectedUser != null) {
          try {
            userService.followArtifact(selectedUser, artifact);
            getSession().success(getString("administration.artifact.followers.add.success"));
View Full Code Here

      private static final long serialVersionUID = 1L;

      @Override
      protected void onSubmit() {
        try {
          User user = RegisterFormPanel.this.userModel.getObject();
          String passwordValue = passwordModel.getObject();
          String confirmPasswordValue = confirmPasswordModel.getObject();
          String remoteIdentifierValue = user.getRemoteIdentifier();
         
          user.setUserName(user.getEmail());
          if ((passwordValue != null && confirmPasswordValue != null) || remoteIdentifierValue != null) {
            List<User> usersWithSameName = userService.listByUserName(user.getUserName());
           
            if (usersWithSameName.isEmpty()) {
              // Get authentication type
              HttpServletRequest request = ((ServletWebRequest) RequestCycle.get().getRequest()).getContainerRequest();
              Authentication authentication = (Authentication) request.getSession().getAttribute(Pac4jAuthenticationUtils.AUTH_TOKEN_ATTRIBUTE);
              AuthenticationType authenticationType = Pac4jAuthenticationUtils.getAuthenticationType(authentication);
             
              userService.register(user, authenticationType, passwordValue);
             
              // Reset authentication session attribute
              request.getSession().removeAttribute(Pac4jAuthenticationUtils.AUTH_TOKEN_ATTRIBUTE);
             
              getSession().success(getString("register.success"));
              throw new RestartResponseException(HomePage.class);
            } else {
              LOGGER.warn("Username '" + user.getUserName() + "' already used");
              getSession().error(getString("register.userName.notUnique"));
            }
          }
        } catch (RestartResponseException e) {
          throw e;
        } catch (Exception e) {
          LOGGER.error("Error occured while creating account.", e);
          getSession().error(getString("register.error"));
        }
      }
    };
   
    // Email field
    EmailTextField emailInput = new EmailTextField("emailInput", BindingModel.of(userModel, Binding.user().email()));
    emailInput.setLabel(new ResourceModel("register.email"));
    emailInput.setRequired(true);
    form.add(emailInput);
   
    // Name fields
    TextField<String> fullNameInput = new TextField<String>("fullNameInput", BindingModel.of(userModel, Binding.user().fullName()));
    fullNameInput.setLabel(new ResourceModel("register.fullName"));
    form.add(fullNameInput);
   
    // Password fields
    WebMarkupContainer passwordContainer = new WebMarkupContainer("passwordContainer") {
      private static final long serialVersionUID = 2727669661139358058L;
     
      @SuppressWarnings("unchecked")
      @Override
      protected void onConfigure() {
        super.onConfigure();
        boolean isRemoteRegistration = isRemoteRegistration();
       
        setVisible(!isRemoteRegistration);
        for (int i = 0; i < size(); ++i) {
          ((FormComponent<String>) get(i)).setRequired(!isRemoteRegistration);
        }
      }
    };
    form.add(passwordContainer);
   
    PasswordTextField passwordInput = new PasswordTextField("passwordInput", this.passwordModel); // FIXME: Génère un warning au submit
    passwordInput.setLabel(new ResourceModel("register.password"));
    passwordInput.add(new PasswordPatternValidator());
    passwordContainer.add(passwordInput);
   
    PasswordTextField confirmPasswordInput = new PasswordTextField("confirmPasswordInput", this.confirmPasswordModel);
    confirmPasswordInput.setLabel(new ResourceModel("register.confirmPassword"));
    passwordContainer.add(confirmPasswordInput);
   
    // Remote identifier field
    TextField<String> remoteIdentifierInput = new TextField<String>("remoteIdentifierInput",
        BindingModel.of(userModel, Binding.user().remoteIdentifier())) {
      private static final long serialVersionUID = 1L;

      @Override
      protected void onConfigure() {
        super.onConfigure();
        boolean isRemoteRegistration = isRemoteRegistration();

        setVisible(isRemoteRegistration);
        setRequired(isRemoteRegistration);
      }
    };
    remoteIdentifierInput.setLabel(new ResourceModel("register.remote.identifier"));
    remoteIdentifierInput.setEnabled(false);
    form.add(remoteIdentifierInput);
   
    Link<Void> clearRemoteIdentifierLink = new Link<Void>("clearRemoteIdentifierLink") {
      private static final long serialVersionUID = 1L;

      @Override
      public void onClick() {
        // Reset authentication session attribute
        HttpServletRequest request = ((ServletWebRequest) RequestCycle.get().getRequest()).getContainerRequest();
        request.getSession().removeAttribute(Pac4jAuthenticationUtils.AUTH_TOKEN_ATTRIBUTE);
       
        RegisterFormPanel.this.userModel.setObject(new User());
        RegisterFormPanel.this.userModel.getObject().setActive(false);
       
        throw new RestartResponseException(RegisterPage.class);
      }
    };
View Full Code Here

  }
 
  public static User extractUserFromHashPageParameter(IUserService userService, PageParameters parameters,
      Class<? extends Page> redirectPageClass) {
    String hash = parameters.get(LinkUtils.HASH_PARAMETER).toString();
    User user = userService.getByNotificationHash(hash);

    if (user == null) {
      LOGGER.error("Unable to get user from hash");
      MavenArtifactNotifierSession.get().error(
          Application.get().getResourceSettings().getLocalizer().getString("common.error.noItem", null));
View Full Code Here

      private static final long serialVersionUID = 6935376642872117563L;
     
      @Override
      protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        try {
          User user = UserNotificationManagementPanel.this.getModelObject();
         
          userService.update(user);
          getSession().success(getString("administration.user.form.edit.success"));
        } catch (Exception e) {
          LOGGER.error("Error occured while updating user.", e);
          getSession().error(getString("administration.user.form.edit.error"));
        }
        target.add(getPage());
        FeedbackUtils.refreshFeedback(target, getPage());
      }
     
      @Override
      protected void onError(AjaxRequestTarget target, Form<?> form) {
        FeedbackUtils.refreshFeedback(target, getPage());
      }
    });
   
    add(new Label("additionalEmails", new ResourceModel("profile.additionalEmails")));
   
    // Email list
    IModel<List<EmailAddress>> emailAddressesModel = new LoadableDetachableModel<List<EmailAddress>>() {
      private static final long serialVersionUID = 1L;

      @Override
      protected List<EmailAddress> load() {
        List<EmailAddress> emailAddresses = userService.listAdditionalEmails(UserNotificationManagementPanel.this.getModelObject());
        Collections.sort(emailAddresses);
        return emailAddresses;
      }
    };
    emailListView = new ListView<EmailAddress>("emails", emailAddressesModel) {
      private static final long serialVersionUID = 1L;
     
      @Override
      protected void populateItem(final ListItem<EmailAddress> item) {
        item.add(new EmailLink("emailLink", BindingModel.of(item.getModel(), Binding.emailAddress().email())));
        item.add(new EmailStatusIcon("emailStatus", BindingModel.of(item.getModel(), Binding.emailAddress().status())));
       
        item.add(new AjaxConfirmLink<EmailAddress>("deleteLink", item.getModel(),
            new ResourceModel("profile.deleteEmail.title"),
            new StringResourceModel("profile.deleteEmail.confirmation.text", item.getModel()),
            new ResourceModel("common.confirm"),
            new ResourceModel("common.cancel"), null, false) {
          private static final long serialVersionUID = -5179621361619239269L;
         
          @Override
          public void onClick(AjaxRequestTarget target) {
            try {
              EmailAddress email = item.getModelObject();
             
              if (email.getStatus() == EmailStatus.PENDING_CONFIRM) {
                userService.doDeleteEmailAddress(email);
                getSession().success(getString("profile.doDeleteEmail.success"));
              } else if (email.getStatus() == EmailStatus.VALIDATED) {
                userService.deleteEmailAddress(email);
                getSession().success(getString("profile.deleteEmail.success"));
              }
            } catch (Exception e) {
              LOGGER.error("Error occured while sending delete email notification", e);
              getSession().error(getString("profile.deleteEmail.error"));
            }
            target.add(getPage());
            FeedbackUtils.refreshFeedback(target, getPage());
          }
        });
      }
    };
    emailListView.setOutputMarkupId(true);
    add(emailListView);
   
    // Empty list
    add(new WebMarkupContainer("emptyList") {
      private static final long serialVersionUID = 6700720373087584498L;

      @Override
      public void onConfigure() {
        super.onConfigure();
        setVisible(emailListView.size() <= 0);
      }
    });
   
    // Add email form
    IModel<String> emptyEmailModel = Model.of("");
   
    final EmailTextField emailField = new EmailTextField("email", emptyEmailModel);
    emailField.setRequired(true);
   
    final Form<String> addEmailForm = new Form<String>("addEmailForm", emptyEmailModel);
    addEmailForm.add(emailField);
    addEmailForm.add(new AjaxSubmitLink("addEmailLink", addEmailForm) {
      private static final long serialVersionUID = 6935376642872117563L;
     
      @Override
      protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        try {
          User user = UserNotificationManagementPanel.this.getModelObject();
          String emailValue = emailField.getModelObject();
         
          if (emailValue != null) {
            userService.addEmailAddress(user, emailValue);
            getSession().success(getString("profile.addEmail.success"));
View Full Code Here

  private IModel<User> userModel;
 
  public ConfirmRegistrationNotificationPage(PageParameters parameters) {
    super(parameters);
   
    User user = LinkUtils.extractUserFromHashPageParameter(userService, parameters, getApplication().getHomePage());
    userModel = new GenericEntityModel<Long, User>(user);

    addBreadCrumbElement(new BreadCrumbElement(new ResourceModel("home.pageTitle"), HomePage.linkDescriptor()));
    addBreadCrumbElement(new BreadCrumbElement(new ResourceModel("notification.register.confirm.pageTitle"), getPageClass(), parameters));
   
View Full Code Here

TOP

Related Classes of fr.openwide.maven.artifact.notifier.core.business.user.model.User

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.